Chromium Code Reviews| 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 407479713ea3408762a17285bb1f8a6f7cf341ac..745f6bd30542b7330a9f2c7e9d0c92aabaf74c64 100644 |
| --- a/chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| +++ b/chrome/browser/lifetime/browser_close_manager_browsertest.cc |
| @@ -72,13 +72,13 @@ app_modal::NativeAppModalDialog* GetNextDialog() { |
| return js_dialog->native_dialog(); |
| } |
| -// Note: call |DisableHangMonitor| on the relevant WebContents or Browser before |
| +// Note: call |PrepareForDialog| on the relevant WebContents or Browser before |
| // trying to close it, to avoid flakiness. https://crbug.com/519646 |
| void AcceptClose() { |
| GetNextDialog()->AcceptAppModalDialog(); |
| } |
| -// Note: call |DisableHangMonitor| on the relevant WebContents or Browser before |
| +// Note: call |PrepareForDialog| on the relevant WebContents or Browser before |
| // trying to close it, to avoid flakiness. https://crbug.com/519646 |
| void CancelClose() { |
| GetNextDialog()->CancelAppModalDialog(); |
| @@ -290,17 +290,15 @@ class BrowserCloseManagerBrowserTest |
| observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS)); |
| } |
| - // Makes sure that the beforeunload hang monitor will not trigger. That must |
| - // be called before close action when using |AcceptClose| or |CancelClose|, to |
| - // ensure the timeout does not prevent the dialog from appearing. |
| - // https://crbug.com/519646 |
| - void DisableHangMonitor(content::WebContents* web_contents) { |
| - web_contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting(); |
| + void PrepareForDialog(content::WebContents* web_contents) { |
| + content::PrepContentsForBeforeUnloadTest(web_contents); |
| } |
| - void DisableHangMonitor(Browser* browser) { |
| - for (int i = 0; i < browser->tab_strip_model()->count(); i++) |
| - DisableHangMonitor(browser->tab_strip_model()->GetWebContentsAt(i)); |
| + void PrepareForDialog(Browser* browser) { |
| + for (int i = 0; i < browser->tab_strip_model()->count(); i++) { |
| + content::PrepContentsForBeforeUnloadTest( |
|
Nico
2017/05/05 16:36:47
nit: If you think having the PrepareForDialog(WebC
Avi (use Gerrit)
2017/05/05 19:29:07
I don't understand your comment. I should name thi
Charlie Reis
2017/05/05 21:27:02
I think he meant to replace this line with Prepare
Avi (use Gerrit)
2017/05/05 22:22:01
Ooooh. Yes.
|
| + browser->tab_strip_model()->GetWebContentsAt(i)); |
| + } |
| } |
| std::vector<Browser*> browsers_; |
| @@ -310,7 +308,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestSingleTabShutdown) { |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browser()); |
| + PrepareForDialog(browser()); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -334,7 +332,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browser()); |
| + PrepareForDialog(browser()); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -363,7 +361,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| AddBlankTabAndShow(browser()); |
| ASSERT_NO_FATAL_FAILURE( |
| ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL))); |
| - DisableHangMonitor(browser()); |
| + PrepareForDialog(browser()); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -411,8 +409,8 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[0]); |
| + PrepareForDialog(browsers_[1]); |
| // Cancel shutdown on the first beforeunload event. |
| { |
| @@ -466,7 +464,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| // Disable the hang monitor in the tab that is not expected to hang, so that |
| // the dialog is guaranteed to show. |
| - DisableHangMonitor(browsers_[0]->tab_strip_model()->GetWebContentsAt(1)); |
| + PrepareForDialog(browsers_[0]->tab_strip_model()->GetWebContentsAt(1)); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -502,7 +500,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_[2], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| // Disable the hang monitor in the tab that is not expected to hang, so that |
| // the dialog is guaranteed to show. |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[1]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| @@ -547,7 +545,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| } |
| // Disable the hang monitor in the tab that is not expected to hang, so that |
| // the dialog is guaranteed to show. |
| - DisableHangMonitor( |
| + PrepareForDialog( |
| browsers_[0]->tab_strip_model()->GetWebContentsAt(kResposiveTabIndex)); |
| RepeatedNotificationObserver cancel_observer( |
| @@ -596,7 +594,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| } |
| // Disable the hang monitor in the tab that is not expected to hang, so that |
| // the dialog is guaranteed to show. |
| - DisableHangMonitor(browsers_[kResposiveBrowserIndex]); |
| + PrepareForDialog(browsers_[kResposiveBrowserIndex]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, kResposiveBrowserIndex + 1); |
| @@ -625,7 +623,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| + PrepareForDialog(browsers_[0]); |
| RepeatedNotificationObserver close_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); |
| @@ -644,7 +642,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| + PrepareForDialog(browsers_[0]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| @@ -652,7 +650,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_.push_back(CreateBrowser(browser()->profile())); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[1]); |
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| cancel_observer.Wait(); |
| @@ -680,8 +678,8 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[0]); |
| + PrepareForDialog(browsers_[1]); |
| RepeatedNotificationObserver close_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSED, 2); |
| @@ -706,8 +704,8 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[0]); |
| + PrepareForDialog(browsers_[1]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| @@ -719,8 +717,8 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| AddBlankTabAndShow(browsers_[1]); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[0]); |
| + PrepareForDialog(browsers_[1]); |
| ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| cancel_observer.Wait(); |
| @@ -787,7 +785,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ->NeedToFireBeforeUnload()); |
| EXPECT_EQ(2, browser2->tab_strip_model()->count()); |
| - DisableHangMonitor(browser2); |
| + PrepareForDialog(browser2); |
| // The test. |
| @@ -851,7 +849,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| + PrepareForDialog(browsers_[0]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -860,7 +858,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_.push_back(CreateBrowser(browser()->profile())); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[1]); |
| browsers_[1]->tab_strip_model()->CloseAllTabs(); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| @@ -886,7 +884,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| ASSERT_TRUE(embedded_test_server()->Start()); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| + PrepareForDialog(browsers_[0]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| @@ -895,7 +893,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_.push_back(CreateBrowser(browser()->profile())); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[1]); |
| ASSERT_FALSE(browsers_[1]->ShouldCloseWindow()); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| @@ -924,8 +922,8 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| browsers_.push_back(CreateBrowser(browser()->profile())); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browsers_[0]); |
| - DisableHangMonitor(browsers_[1]); |
| + PrepareForDialog(browsers_[0]); |
| + PrepareForDialog(browsers_[1]); |
| RepeatedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| @@ -1224,7 +1222,7 @@ IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); |
| ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| - DisableHangMonitor(browser()); |
| + PrepareForDialog(browser()); |
| content::WindowedNotificationObserver cancel_observer( |
| chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, |