| diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h |
| index 25a82353eace8..bf3c1cc675688 100644 |
| --- chrome/browser/browser_process.h |
| +++ chrome/browser/browser_process.h |
| @@ -203,9 +203,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<BackgroundModeManager> manager) = 0; |
| #endif |
| diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc |
| index 2c378853875b1..abb69e7678b8c 100644 |
| --- chrome/browser/browser_process_impl.cc |
| +++ chrome/browser/browser_process_impl.cc |
| @@ -1055,18 +1055,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<BackgroundModeManager> manager) { |
| background_mode_manager_ = std::move(manager); |
| diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h |
| index 7cc361a82a623..041225f160f89 100644 |
| --- chrome/browser/browser_process_impl.h |
| +++ chrome/browser/browser_process_impl.h |
| @@ -185,8 +185,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<BackgroundModeManager> manager) override; |
| #endif |
| diff --git chrome/browser/lifetime/browser_close_manager.cc chrome/browser/lifetime/browser_close_manager.cc |
| index 1fbc225de7b84..55847e48ed0c2 100644 |
| --- chrome/browser/lifetime/browser_close_manager.cc |
| +++ chrome/browser/lifetime/browser_close_manager.cc |
| @@ -157,12 +157,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. |