| Index: chrome/browser/lifetime/browser_close_manager_browsertest.cc | 
| diff --git a/chrome/browser/lifetime/browser_close_manager_browsertest.cc b/chrome/browser/lifetime/browser_close_manager_browsertest.cc | 
| index 67f6bb69ec80c2f74c22e116fcffdef0e37ed0cc..ca4bce8baff0c1a2403f5af24edeb3776a03d065 100644 | 
| --- a/chrome/browser/lifetime/browser_close_manager_browsertest.cc | 
| +++ b/chrome/browser/lifetime/browser_close_manager_browsertest.cc | 
| @@ -52,6 +52,7 @@ | 
| #include "content/public/browser/web_contents.h" | 
| #include "content/public/test/browser_test_utils.h" | 
| #include "content/public/test/download_test_observer.h" | 
| +#include "content/public/test/repeated_notification_observer.h" | 
| #include "content/public/test/test_navigation_observer.h" | 
| #include "net/test/embedded_test_server/embedded_test_server.h" | 
| #include "net/test/url_request/url_request_mock_http_job.h" | 
| @@ -84,41 +85,6 @@ void CancelClose() { | 
| GetNextDialog()->CancelAppModalDialog(); | 
| } | 
|  | 
| -class RepeatedNotificationObserver : public content::NotificationObserver { | 
| - public: | 
| -  explicit RepeatedNotificationObserver(int type, int count) | 
| -      : num_outstanding_(count), running_(false) { | 
| -    registrar_.Add(this, type, content::NotificationService::AllSources()); | 
| -  } | 
| - | 
| -  void Observe(int type, | 
| -               const content::NotificationSource& source, | 
| -               const content::NotificationDetails& details) override { | 
| -    ASSERT_GT(num_outstanding_, 0); | 
| -    if (!--num_outstanding_ && running_) { | 
| -      content::BrowserThread::PostTask( | 
| -          content::BrowserThread::UI, FROM_HERE, run_loop_.QuitClosure()); | 
| -    } | 
| -  } | 
| - | 
| -  void Wait() { | 
| -    if (num_outstanding_ <= 0) | 
| -      return; | 
| - | 
| -    running_ = true; | 
| -    run_loop_.Run(); | 
| -    running_ = false; | 
| -  } | 
| - | 
| - private: | 
| -  int num_outstanding_; | 
| -  content::NotificationRegistrar registrar_; | 
| -  bool running_; | 
| -  base::RunLoop run_loop_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(RepeatedNotificationObserver); | 
| -}; | 
| - | 
| class TabRestoreServiceChangesObserver | 
| : public sessions::TabRestoreServiceObserver { | 
| public: | 
| @@ -308,7 +274,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestSingleTabShutdown) { | 
| browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browser()); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -316,7 +282,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestSingleTabShutdown) { | 
| EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 
| EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -332,7 +298,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browser()); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| @@ -341,7 +307,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 
| EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| @@ -361,7 +327,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL))); | 
| PrepareForDialog(browser()); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -378,7 +344,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| navigation_observer.Wait(); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| close_observer.Wait(); | 
| @@ -412,7 +378,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { | 
|  | 
| // Cancel shutdown on the first beforeunload event. | 
| { | 
| -    RepeatedNotificationObserver cancel_observer( | 
| +    content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -424,7 +390,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { | 
|  | 
| // Cancel shutdown on the second beforeunload event. | 
| { | 
| -    RepeatedNotificationObserver cancel_observer( | 
| +    content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -436,7 +402,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| // Allow shutdown for both beforeunload events. | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -464,7 +430,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| // the dialog is guaranteed to show. | 
| PrepareForDialog(browsers_[0]->tab_strip_model()->GetWebContentsAt(1)); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -473,7 +439,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| // All tabs should still be open. | 
| EXPECT_EQ(3, browsers_[0]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -500,7 +466,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| // the dialog is guaranteed to show. | 
| PrepareForDialog(browsers_[1]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -511,7 +477,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
| EXPECT_EQ(1, browsers_[2]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 3); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -546,7 +512,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| PrepareForDialog( | 
| browsers_[0]->tab_strip_model()->GetWebContentsAt(kResposiveTabIndex)); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -555,7 +521,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
|  | 
| // All tabs should still be open. | 
| EXPECT_EQ(kTabCount, browsers_[0]->tab_strip_model()->count()); | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
|  | 
| // Quit, this time accepting close confirmation dialog. | 
| @@ -594,7 +560,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| // the dialog is guaranteed to show. | 
| PrepareForDialog(browsers_[kResposiveBrowserIndex]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, kResposiveBrowserIndex + 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(CancelClose()); | 
| @@ -606,7 +572,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[i]->tab_strip_model()->count()); | 
|  | 
| // Quit, this time accepting close confirmation dialog. | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, kBrowserCount); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -623,7 +589,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browsers_[0]); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| browsers_.push_back(CreateBrowser(browser()->profile())); | 
| @@ -642,7 +608,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browsers_[0]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| browsers_.push_back(CreateBrowser(browser()->profile())); | 
| @@ -657,7 +623,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| // Allow shutdown for both beforeunload dialogs. | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -679,7 +645,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| PrepareForDialog(browsers_[0]); | 
| PrepareForDialog(browsers_[1]); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -705,7 +671,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| PrepareForDialog(browsers_[0]); | 
| PrepareForDialog(browsers_[1]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -724,7 +690,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(2, browsers_[0]->tab_strip_model()->count()); | 
| EXPECT_EQ(2, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 
| @@ -849,7 +815,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browsers_[0]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
|  | 
| @@ -865,7 +831,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[0]->tab_strip_model()->count()); | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| browsers_[1]->tab_strip_model()->CloseAllTabs(); | 
| @@ -884,7 +850,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 
| PrepareForDialog(browsers_[0]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
|  | 
| @@ -900,7 +866,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[0]->tab_strip_model()->count()); | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_FALSE(browsers_[1]->ShouldCloseWindow()); | 
| @@ -923,7 +889,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| PrepareForDialog(browsers_[0]); | 
| PrepareForDialog(browsers_[1]); | 
|  | 
| -  RepeatedNotificationObserver cancel_observer( | 
| +  content::RepeatedNotificationObserver cancel_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 
| chrome::CloseAllBrowsersAndQuit(); | 
|  | 
| @@ -934,7 +900,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 
| EXPECT_EQ(1, browsers_[0]->tab_strip_model()->count()); | 
| EXPECT_EQ(1, browsers_[1]->tab_strip_model()->count()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| chrome::CloseAllBrowsersAndQuit(); | 
| ASSERT_FALSE(browsers_[0]->ShouldCloseWindow()); | 
| @@ -984,7 +950,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| SetDownloadPathForProfile(browser()->profile()); | 
| ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
|  | 
| TestBrowserCloseManager::AttemptClose( | 
| @@ -1057,7 +1023,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| EXPECT_EQ(GURL(chrome::kChromeUIDownloadsURL), | 
| browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
|  | 
| TestBrowserCloseManager::AttemptClose( | 
| @@ -1079,7 +1045,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| SetDownloadPathForProfile(otr_profile); | 
| Browser* otr_browser = CreateBrowser(otr_profile); | 
| { | 
| -    RepeatedNotificationObserver close_observer( | 
| +    content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| browser()->window()->Close(); | 
| close_observer.Wait(); | 
| @@ -1094,7 +1060,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| EXPECT_EQ(GURL(chrome::kChromeUIDownloadsURL), | 
| otr_browser->tab_strip_model()->GetActiveWebContents()->GetURL()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
|  | 
| TestBrowserCloseManager::AttemptClose( | 
| @@ -1128,7 +1094,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| ASSERT_EQ(0, num_downloads_blocking); | 
|  | 
| { | 
| -    RepeatedNotificationObserver close_observer( | 
| +    content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| otr_browser->window()->Close(); | 
| close_observer.Wait(); | 
| @@ -1140,7 +1106,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| ASSERT_EQ(1, num_downloads_blocking); | 
|  | 
| { | 
| -    RepeatedNotificationObserver close_observer( | 
| +    content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| TestBrowserCloseManager::AttemptClose( | 
| TestBrowserCloseManager::USER_CHOICE_USER_ALLOWS_CLOSE); | 
| @@ -1178,7 +1144,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| SetDownloadPathForProfile(other_profile); | 
| ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 
| { | 
| -    RepeatedNotificationObserver close_observer( | 
| +    content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| browser()->window()->Close(); | 
| close_observer.Wait(); | 
| @@ -1199,7 +1165,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| other_profile_browser->tab_strip_model()->GetActiveWebContents() | 
| ->GetURL()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 
| TestBrowserCloseManager::AttemptClose( | 
| TestBrowserCloseManager::USER_CHOICE_USER_ALLOWS_CLOSE); | 
| @@ -1231,7 +1197,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 
| cancel_observer.Wait(); | 
| EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 
|  | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| TestBrowserCloseManager::AttemptClose( | 
| TestBrowserCloseManager::USER_CHOICE_USER_ALLOWS_CLOSE); | 
| @@ -1277,7 +1243,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| std::unique_ptr<ScopedKeepAlive> tmp_keep_alive; | 
| Profile* profile = browser()->profile(); | 
| { | 
| -    RepeatedNotificationObserver close_observer( | 
| +    content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| tmp_keep_alive.reset(new ScopedKeepAlive(KeepAliveOrigin::PANEL_VIEW, | 
| KeepAliveRestartOption::DISABLED)); | 
| @@ -1294,7 +1260,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| new_browser_observer.WaitForSingleNewBrowser(); | 
| tmp_keep_alive.reset(); | 
| EXPECT_FALSE(IsBackgroundModeSuspended()); | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
|  | 
| // Background mode should not be suspended when quitting. | 
| @@ -1309,7 +1275,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| // background mode. | 
| IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| DISABLED_CloseSingleBrowserWithBackgroundMode) { | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| EXPECT_FALSE(IsBackgroundModeSuspended()); | 
| browser()->window()->Close(); | 
| @@ -1323,7 +1289,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| // background mode but does not cause Chrome to quit. | 
| IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 
| DISABLED_CloseAllBrowsersWithNoOpenBrowsersWithBackgroundMode) { | 
| -  RepeatedNotificationObserver close_observer( | 
| +  content::RepeatedNotificationObserver close_observer( | 
| chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 
| EXPECT_FALSE(IsBackgroundModeSuspended()); | 
| ScopedKeepAlive tmp_keep_alive(KeepAliveOrigin::PANEL_VIEW, | 
|  |