diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-12 22:58:17 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-12 22:58:17 +0000 |
commit | 3770c24a1359d01dae7c48508fda5a55c342ee1e (patch) | |
tree | 9ee9ae3397fa4225ebd061597378d5117791dfe1 /chrome/browser/ui/browser_list.h | |
parent | be61f4b20100e2b4514b670c36ed69527664513b (diff) | |
download | chromium_src-3770c24a1359d01dae7c48508fda5a55c342ee1e.zip chromium_src-3770c24a1359d01dae7c48508fda5a55c342ee1e.tar.gz chromium_src-3770c24a1359d01dae7c48508fda5a55c342ee1e.tar.bz2 |
Move implementation of BrowserList onto an inner, instantiatable class, BrowserListImpl.
This is so we can create one BrowserListImpl per universe.
Eventually we'll get rid of BrowserList, but for now this change strives for compat.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10690151
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146476 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/browser_list.h')
-rw-r--r-- | chrome/browser/ui/browser_list.h | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/chrome/browser/ui/browser_list.h b/chrome/browser/ui/browser_list.h index 6050280..b0b3974 100644 --- a/chrome/browser/ui/browser_list.h +++ b/chrome/browser/ui/browser_list.h @@ -24,6 +24,7 @@ class ExtensionInstallDialog; } namespace chrome { +class BrowserListObserver; namespace internal { void NotifyNotDefaultBrowserCallback(); } @@ -51,31 +52,14 @@ class BrowserList { typedef BrowserVector::const_iterator const_iterator; typedef BrowserVector::const_reverse_iterator const_reverse_iterator; - // It is not allowed to change the global window list (add or remove any - // browser windows while handling observer callbacks. - class Observer { - public: - // Called immediately after a browser is added to the list - virtual void OnBrowserAdded(Browser* browser) {} - - // Called immediately after a browser is removed from the list - virtual void OnBrowserRemoved(Browser* browser) {} - - // Called immediately after a browser is set active (SetLastActive) - virtual void OnBrowserSetLastActive(Browser* browser) {} - - protected: - virtual ~Observer() {} - }; - // Adds and removes browsers from the global list. The browser object should // be valid BEFORE these calls (for the benefit of observers), so notify and // THEN delete the object. static void AddBrowser(Browser* browser); static void RemoveBrowser(Browser* browser); - static void AddObserver(Observer* observer); - static void RemoveObserver(Observer* observer); + static void AddObserver(chrome::BrowserListObserver* observer); + static void RemoveObserver(chrome::BrowserListObserver* observer); // Called by Browser objects when their window is activated (focused). This // allows us to determine what the last active Browser was. @@ -142,9 +126,6 @@ class BrowserList { // THIS FUNCTION IS PRIVATE AND NOT TO BE USED AS A REPLACEMENT FOR RELEVANT // CONTEXT. static Browser* GetLastActive(); - - // Helper method to remove a browser instance from a list of browsers - static void RemoveBrowserFrom(Browser* browser, BrowserVector* browser_list); }; #endif // CHROME_BROWSER_UI_BROWSER_LIST_H_ |