Index: chrome/browser/browser_list.h |
diff --git a/chrome/browser/browser_list.h b/chrome/browser/browser_list.h |
index a6113a7542ec13dff97f89889200cbc9aca62f8b..9c477c06f7a5ed1e7da84f39a8cfb3485441f3e7 100644 |
--- a/chrome/browser/browser_list.h |
+++ b/chrome/browser/browser_list.h |
@@ -113,8 +113,19 @@ class BrowserList { |
// Returns true if there is at least one Browser with the specified profile. |
static bool HasBrowserWithProfile(Profile* profile); |
- // Returns true if browser is in persistent mode and false otherwise. |
- static bool IsInPersistentMode(); |
+ // Tells the BrowserList to keep the application alive after the last Browser |
+ // closes. This is implemented as a count, so callers should pair their calls |
+ // to StartKeepAlive() with matching calls to EndKeepAlive() when they no |
+ // longer need to keep the application running. |
+ static void StartKeepAlive(); |
+ |
+ // Stops keeping the application alive after the last Browser is closed. |
+ // Should match a previous call to StartKeepAlive(). |
+ static void EndKeepAlive(); |
+ |
+ // Returns true if application will continue running after the last Browser |
+ // closes. |
+ static bool WillKeepAlive(); |
static const_iterator begin() { return browsers_.begin(); } |
static const_iterator end() { return browsers_.end(); } |
@@ -144,8 +155,8 @@ class BrowserList { |
// Returns true if at least one off the record session is active. |
static bool IsOffTheRecordSessionActive(); |
- // Called when the last browser is closed. |
- static void AllBrowsersClosed(); |
+ // Called once there are no more browsers open and the application is exiting. |
+ static void AllBrowsersClosedAndAppExiting(); |
private: |
// Helper method to remove a browser instance from a list of browsers |
@@ -154,6 +165,10 @@ class BrowserList { |
static BrowserVector browsers_; |
static BrowserVector last_active_browsers_; |
static ObserverList<Observer> observers_; |
+ |
+ // Counter of calls to StartKeepAlive(). If non-zero, the application will |
+ // continue running after the last browser has exited. |
+ static int keep_alive_count_; |
}; |
class TabContents; |