diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-17 00:01:57 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-17 00:01:57 +0000 |
commit | f92a69826846102dfe32ac44bc36df79f803beb6 (patch) | |
tree | 35995131920888be482b8eea6cbce3d96803e15b /chrome/browser/browser_list.h | |
parent | cb1cdf49dfef2a86f5616be04f07381ec00ce1b9 (diff) | |
download | chromium_src-f92a69826846102dfe32ac44bc36df79f803beb6.zip chromium_src-f92a69826846102dfe32ac44bc36df79f803beb6.tar.gz chromium_src-f92a69826846102dfe32ac44bc36df79f803beb6.tar.bz2 |
revert r8217 until memory tests are fixed.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_list.h')
-rw-r--r-- | chrome/browser/browser_list.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/chrome/browser/browser_list.h b/chrome/browser/browser_list.h index 72262a9..cda32a9 100644 --- a/chrome/browser/browser_list.h +++ b/chrome/browser/browser_list.h @@ -10,6 +10,12 @@ #include "chrome/browser/browser.h" +namespace views { +class AppModalDialogDelegate; +class Window; +}; +class WebContents; + // Stores a list of all Browser objects. class BrowserList { public: @@ -35,6 +41,13 @@ class BrowserList { static void AddBrowser(Browser* browser); static void RemoveBrowser(Browser* browser); + // Adds and removes non-browser dependent windows. These are windows that are + // top level, but whose lifetime is associated wtih the existence of at least + // one active Browser. When the last Browser is destroyed, all open dependent + // windows are closed. + static void AddDependentWindow(views::Window* window); + static void RemoveDependentWindow(views::Window* window); + static void AddObserver(Observer* observer); static void RemoveObserver(Observer* observer); @@ -100,12 +113,20 @@ class BrowserList { static bool IsOffTheRecordSessionActive(); private: + // Closes all registered dependent windows. + static void CloseAllDependentWindows(); + // Helper method to remove a browser instance from a list of browsers static void RemoveBrowserFrom(Browser* browser, list_type* browser_list); static list_type browsers_; static std::vector<Observer*> observers_; static list_type last_active_browsers_; + typedef std::vector<views::Window*> DependentWindowList; + static DependentWindowList dependent_windows_; + + // Set to the currently showing modal dialog delegate if any, NULL otherwise. + static views::AppModalDialogDelegate* app_modal_dialog_; }; class WebContents; |