summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_list.cc
diff options
context:
space:
mode:
authorandybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-11 00:46:43 +0000
committerandybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-11 00:46:43 +0000
commiteaef6bdc6ba88a592b52a457af54073c10158de2 (patch)
treeb53d27cc9e04afd9bd4a8256e0d20344d71ccbcf /chrome/browser/browser_list.cc
parent45d6d7a7dcaa885d05cf998332d8d9096cb8ae2e (diff)
downloadchromium_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.cc7
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));