Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1640)

Unified Diff: chrome/browser/lifetime/browser_close_manager.cc

Issue 25603004: Leave apps running on Windows and Linux when quitting Chrome from the wrench menu. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/lifetime/browser_close_manager.cc
diff --git a/chrome/browser/lifetime/browser_close_manager.cc b/chrome/browser/lifetime/browser_close_manager.cc
index e26b73f7ebbc59a2d6096f28553989dc1353d817..fed7d849fda0f1219e8f28817c670da7f6891066 100644
--- a/chrome/browser/lifetime/browser_close_manager.cc
+++ b/chrome/browser/lifetime/browser_close_manager.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/lifetime/browser_close_manager.h"
#include "base/command_line.h"
+#include "chrome/browser/background/background_mode_manager.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_shutdown.h"
#include "chrome/browser/download/download_service.h"
@@ -32,6 +33,8 @@ void BrowserCloseManager::StartClosingBrowsers() {
if (browser_shutdown::GetShutdownType() == browser_shutdown::END_SESSION ||
CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableBatchedShutdown)) {
+ // Tell everyone that we are shutting down.
+ browser_shutdown::SetTryingToQuit(true);
CloseBrowsers();
return;
}
@@ -123,14 +126,17 @@ void BrowserCloseManager::OnReportDownloadsCancellable(bool proceed) {
}
void BrowserCloseManager::CloseBrowsers() {
- // Tell everyone that we are shutting down.
- browser_shutdown::SetTryingToQuit(true);
-
#if defined(ENABLE_SESSION_SERVICE)
// Before we close the browsers shutdown all session services. That way an
// exit can restore all browsers open before exiting.
ProfileManager::ShutdownSessionServices();
#endif
+ if (!browser_shutdown::IsTryingToQuit()) {
+ BackgroundModeManager* background_mode_manager =
+ g_browser_process->background_mode_manager();
+ if (background_mode_manager)
+ background_mode_manager->SuspendBackgroundMode();
+ }
bool session_ending =
browser_shutdown::GetShutdownType() == browser_shutdown::END_SESSION;
« no previous file with comments | « chrome/browser/lifetime/application_lifetime.cc ('k') | chrome/browser/lifetime/browser_close_manager_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698