| Index: chrome/browser/app_controller_mac.mm
|
| diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm
|
| index 87b473e9aa7093775cbbf4e8c8c36c57840173e3..f6098389e67b1e879247d12f3db621bc6e9bacea 100644
|
| --- a/chrome/browser/app_controller_mac.mm
|
| +++ b/chrome/browser/app_controller_mac.mm
|
| @@ -53,6 +53,7 @@
|
| #include "chrome/browser/ui/browser_window.h"
|
| #include "chrome/browser/ui/chrome_pages.h"
|
| #import "chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.h"
|
| +#include "chrome/browser/ui/cocoa/apps/quit_with_apps_controller_mac.h"
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_cocoa.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_controller.h"
|
| @@ -370,6 +371,12 @@ class AppControllerProfileObserver : public ProfileInfoCacheObserver {
|
| ![self shouldQuitWithInProgressDownloads])
|
| return NO;
|
|
|
| + // Check for active apps, and prompt the user if they really want to quit
|
| + // (and also quit the apps).
|
| + if (!browser_shutdown::IsTryingToQuit() &&
|
| + quitWithAppsController_.get() && !quitWithAppsController_->ShouldQuit())
|
| + return NO;
|
| +
|
| // TODO(viettrungluu): Remove Apple Event handlers here? (It's safe to leave
|
| // them in, but I'm not sure about UX; we'd also want to disable other things
|
| // though.) http://crbug.com/40861
|
| @@ -694,6 +701,10 @@ class AppControllerProfileObserver : public ProfileInfoCacheObserver {
|
| // main menu item titles are not yet initialized in awakeFromNib.
|
| [self initAppShimMenuController];
|
|
|
| + // If enabled, keep Chrome alive when apps are open instead of quitting all
|
| + // apps.
|
| + quitWithAppsController_ = new QuitWithAppsController();
|
| +
|
| // Build up the encoding menu, the order of the items differs based on the
|
| // current locale (see http://crbug.com/7647 for details).
|
| // We need a valid g_browser_process to get the profile which is why we can't
|
|
|