diff options
author | andybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-11 00:46:43 +0000 |
---|---|---|
committer | andybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-11 00:46:43 +0000 |
commit | eaef6bdc6ba88a592b52a457af54073c10158de2 (patch) | |
tree | b53d27cc9e04afd9bd4a8256e0d20344d71ccbcf /chrome/browser/browser_list.cc | |
parent | 45d6d7a7dcaa885d05cf998332d8d9096cb8ae2e (diff) | |
download | chromium_src-eaef6bdc6ba88a592b52a457af54073c10158de2.zip chromium_src-eaef6bdc6ba88a592b52a457af54073c10158de2.tar.gz chromium_src-eaef6bdc6ba88a592b52a457af54073c10158de2.tar.bz2 |
Mac: Fixes bug where extension background hosts were being cleared when the last window was closed. It assumed that this meant the app was closing. Not the case with Mac apps. Added a mac-only notification APP_TERMINATED and use that to perform cleanup upon shutdown.
TEST=More description in the bug, but basically just make sure that background views stick around even after you've closed the last window.
BUG=28666
Review URL: http://codereview.chromium.org/465143
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34316 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_list.cc')
-rw-r--r-- | chrome/browser/browser_list.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/chrome/browser/browser_list.cc b/chrome/browser/browser_list.cc index 413fda9..7f7b753 100644 --- a/chrome/browser/browser_list.cc +++ b/chrome/browser/browser_list.cc @@ -151,7 +151,12 @@ void BrowserList::AddBrowser(Browser* browser) { void BrowserList::RemoveBrowser(Browser* browser) { RemoveBrowserFrom(browser, &last_active_browsers_); - bool close_app = (browsers_.size() == 1); + bool close_app = false; + // Since closing all windows does not indicate quitting the application on + // Mac, don't check the condition based on the number of browser windows. +#if defined(OS_WIN) || defined(OS_LINUX) + close_app = (browsers_.size() == 1); +#endif NotificationService::current()->Notify( NotificationType::BROWSER_CLOSED, Source<Browser>(browser), Details<bool>(&close_app)); |