diff --git chrome/browser/app_controller_mac.mm chrome/browser/app_controller_mac.mm index dd4c916b7581a..c27d72bf53c9b 100644 --- chrome/browser/app_controller_mac.mm +++ chrome/browser/app_controller_mac.mm @@ -31,6 +31,7 @@ #include "base/threading/scoped_blocking_call.h" #include "base/threading/thread_restrictions.h" #include "build/branding_buildflags.h" +#include "cef/libcef/features/features.h" #include "chrome/app/chrome_command_ids.h" #include "chrome/browser/apps/app_shim/app_shim_manager_mac.h" #include "chrome/browser/apps/app_shim/app_shim_termination_manager.h" @@ -1339,6 +1340,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session; // Run a (background) application in a new tab. - (void)executeApplication:(id)sender { +#if BUILDFLAG(ENABLE_BACKGROUND_MODE) NSInteger tag = [sender tag]; Profile* profile = [self lastProfile]; DCHECK(profile); @@ -1347,6 +1349,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session; tag < static_cast(applications.size())); const extensions::Extension* extension = applications.GetExtension(tag); BackgroundModeManager::LaunchBackgroundApplication(profile, extension); +#endif // BUILDFLAG(ENABLE_BACKGROUND_MODE) } // Same as |-commandDispatch:|, but executes commands using a disposition @@ -1702,6 +1705,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session; [dockMenu addItem:item]; } +#if BUILDFLAG(ENABLE_BACKGROUND_MODE) // TODO(rickcam): Mock out BackgroundApplicationListModel, then add unit tests // which use the mock in place of the profile-initialized model. BackgroundApplicationListModel applications(profile); @@ -1726,6 +1730,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session; [appMenu addItem:appItem]; } } +#endif // BUILDFLAG(ENABLE_BACKGROUND_MODE) return dockMenu; } @@ -1963,11 +1968,13 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session; namespace { void UpdateProfileInUse(Profile* profile, Profile::CreateStatus status) { +#if !BUILDFLAG(ENABLE_CEF) if (status == Profile::CREATE_STATUS_INITIALIZED) { AppController* controller = base::mac::ObjCCastStrict([NSApp delegate]); [controller windowChangedToProfile:profile]; } +#endif // !BUILDFLAG(ENABLE_CEF) } void OpenUrlsInBrowserWithProfile(const std::vector& urls, diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h index a7657cb6e5d5e..d6c6f3225fcb6 100644 --- chrome/browser/browser_process.h +++ chrome/browser/browser_process.h @@ -198,9 +198,9 @@ class BrowserProcess { virtual DownloadStatusUpdater* download_status_updater() = 0; virtual DownloadRequestLimiter* download_request_limiter() = 0; +#if BUILDFLAG(ENABLE_BACKGROUND_MODE) // Returns the object that manages background applications. virtual BackgroundModeManager* background_mode_manager() = 0; -#if BUILDFLAG(ENABLE_BACKGROUND_MODE) virtual void set_background_mode_manager_for_test( std::unique_ptr manager) = 0; #endif diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc index 1149818336011..0e454299e2622 100644 --- chrome/browser/browser_process_impl.cc +++ chrome/browser/browser_process_impl.cc @@ -970,18 +970,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { return download_request_limiter_.get(); } -BackgroundModeManager* BrowserProcessImpl::background_mode_manager() { #if BUILDFLAG(ENABLE_BACKGROUND_MODE) +BackgroundModeManager* BrowserProcessImpl::background_mode_manager() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (!background_mode_manager_) CreateBackgroundModeManager(); return background_mode_manager_.get(); -#else - return nullptr; -#endif } -#if BUILDFLAG(ENABLE_BACKGROUND_MODE) void BrowserProcessImpl::set_background_mode_manager_for_test( std::unique_ptr manager) { background_mode_manager_ = std::move(manager); diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h index 2bb0b1ec912b0..2235c7b56a456 100644 --- chrome/browser/browser_process_impl.h +++ chrome/browser/browser_process_impl.h @@ -174,8 +174,8 @@ class BrowserProcessImpl : public BrowserProcess, void SetApplicationLocale(const std::string& actual_locale) override; DownloadStatusUpdater* download_status_updater() override; DownloadRequestLimiter* download_request_limiter() override; - BackgroundModeManager* background_mode_manager() override; #if BUILDFLAG(ENABLE_BACKGROUND_MODE) + BackgroundModeManager* background_mode_manager() override; void set_background_mode_manager_for_test( std::unique_ptr manager) override; #endif diff --git chrome/browser/lifetime/browser_close_manager.cc chrome/browser/lifetime/browser_close_manager.cc index fb05f448cb250..e94c28d492e7a 100644 --- chrome/browser/lifetime/browser_close_manager.cc +++ chrome/browser/lifetime/browser_close_manager.cc @@ -151,12 +151,14 @@ void BrowserCloseManager::CloseBrowsers() { // exit can restore all browsers open before exiting. ProfileManager::ShutdownSessionServices(); #endif +#if BUILDFLAG(ENABLE_BACKGROUND_MODE) if (!browser_shutdown::IsTryingToQuit()) { BackgroundModeManager* background_mode_manager = g_browser_process->background_mode_manager(); if (background_mode_manager) background_mode_manager->SuspendBackgroundMode(); } +#endif // Make a copy of the BrowserList to simplify the case where we need to // destroy a Browser during the loop.