diff options
author | jackhou@chromium.org <jackhou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-29 01:51:44 +0000 |
---|---|---|
committer | jackhou@chromium.org <jackhou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-29 01:51:44 +0000 |
commit | 425f7a0afb038772bf0d1bfb007a1ccb13dfae35 (patch) | |
tree | b2105f30f45bbd4b7315922b5f1cb262bfc90df4 /apps/app_window_registry.cc | |
parent | ac296392d7ab509cda68f9465e0f3f23bc383879 (diff) | |
download | chromium_src-425f7a0afb038772bf0d1bfb007a1ccb13dfae35.zip chromium_src-425f7a0afb038772bf0d1bfb007a1ccb13dfae35.tar.gz chromium_src-425f7a0afb038772bf0d1bfb007a1ccb13dfae35.tar.bz2 |
Prevent Chrome from quitting when apps are open. (Mac)
This is added behind --apps-keep-chrome-alive.
When Chrome is quit, a notification is shown to let the user know that
Chrome will continue running.
The browser session should be shut down like on Windows, but that is
not yet implemented. Similarly, quitting all the apps should quit
Chrome. These will be added in followup CLs.
BUG=333429
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=265889
Review URL: https://codereview.chromium.org/220373003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266731 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps/app_window_registry.cc')
-rw-r--r-- | apps/app_window_registry.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/app_window_registry.cc b/apps/app_window_registry.cc index 62ba2e1..4ed0b8b 100644 --- a/apps/app_window_registry.cc +++ b/apps/app_window_registry.cc @@ -242,6 +242,24 @@ bool AppWindowRegistry::IsAppWindowRegisteredInAnyProfile( return false; } +// static +void AppWindowRegistry::CloseAllAppWindows() { + std::vector<content::BrowserContext*> contexts = + AppsClient::Get()->GetLoadedBrowserContexts(); + for (std::vector<content::BrowserContext*>::const_iterator i = + contexts.begin(); + i != contexts.end(); + ++i) { + AppWindowRegistry* registry = + Factory::GetForBrowserContext(*i, false /* create */); + if (!registry) + continue; + + while (!registry->app_windows().empty()) + registry->app_windows().front()->GetBaseWindow()->Close(); + } +} + void AppWindowRegistry::OnDevToolsStateChanged( content::DevToolsAgentHost* agent_host, bool attached) { |