blob: 9f18a143c12ec6f66ea7915332df2911f99b76ac [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/browser_window/public/global_browser_collection.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/global_features.h"
// static
GlobalBrowserCollection* GlobalBrowserCollection::GetInstance() {
return g_browser_process->GetFeatures()->global_browser_collection();
}
GlobalBrowserCollection::GlobalBrowserCollection() = default;
GlobalBrowserCollection::~GlobalBrowserCollection() = default;
void GlobalBrowserCollection::OnBrowserCreated(
BrowserWindowInterface* browser) {
for (BrowserCollectionObserver& observer : observers_) {
observer.OnBrowserCreated(browser);
}
}
void GlobalBrowserCollection::OnBrowserClosed(BrowserWindowInterface* browser) {
for (BrowserCollectionObserver& observer : observers_) {
observer.OnBrowserClosed(browser);
}
}
void GlobalBrowserCollection::OnBrowserActivated(
BrowserWindowInterface* browser) {
for (BrowserCollectionObserver& observer : observers_) {
observer.OnBrowserActivated(browser);
}
}
void GlobalBrowserCollection::OnBrowserDeactivated(
BrowserWindowInterface* browser) {
for (BrowserCollectionObserver& observer : observers_) {
observer.OnBrowserDeactivated(browser);
}
}
void GlobalBrowserCollection::AddObserver(BrowserCollectionObserver* observer) {
observers_.AddObserver(observer);
}
void GlobalBrowserCollection::RemoveObserver(
BrowserCollectionObserver* observer) {
observers_.RemoveObserver(observer);
}