| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/lifetime/browser_close_manager.h" | 5 #include "chrome/browser/lifetime/browser_close_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 #if defined(OS_CHROMEOS) | 238 #if defined(OS_CHROMEOS) |
| 239 command_line->AppendSwitch( | 239 command_line->AppendSwitch( |
| 240 chromeos::switches::kIgnoreUserProfileMappingForTests); | 240 chromeos::switches::kIgnoreUserProfileMappingForTests); |
| 241 #endif | 241 #endif |
| 242 } | 242 } |
| 243 | 243 |
| 244 void CreateStalledDownload(Browser* browser) { | 244 void CreateStalledDownload(Browser* browser) { |
| 245 content::DownloadTestObserverInProgress observer( | 245 content::DownloadTestObserverInProgress observer( |
| 246 content::BrowserContext::GetDownloadManager(browser->profile()), 1); | 246 content::BrowserContext::GetDownloadManager(browser->profile()), 1); |
| 247 ui_test_utils::NavigateToURLWithDisposition( | 247 ui_test_utils::NavigateToURLWithDisposition( |
| 248 browser, | 248 browser, GURL(net::URLRequestSlowDownloadJob::kKnownSizeUrl), |
| 249 GURL(net::URLRequestSlowDownloadJob::kKnownSizeUrl), | 249 WindowOpenDisposition::NEW_BACKGROUND_TAB, |
| 250 NEW_BACKGROUND_TAB, | |
| 251 ui_test_utils::BROWSER_TEST_NONE); | 250 ui_test_utils::BROWSER_TEST_NONE); |
| 252 observer.WaitForFinished(); | 251 observer.WaitForFinished(); |
| 253 EXPECT_EQ( | 252 EXPECT_EQ( |
| 254 1UL, | 253 1UL, |
| 255 observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS)); | 254 observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS)); |
| 256 } | 255 } |
| 257 | 256 |
| 258 // Makes sure that hang monitor will not trigger RendererUnresponsive | 257 // Makes sure that hang monitor will not trigger RendererUnresponsive |
| 259 // for that web content or browser. That must be called before close action | 258 // for that web content or browser. That must be called before close action |
| 260 // when using |AcceptClose| or |CancelClose|, to ensure the timeout does not | 259 // when using |AcceptClose| or |CancelClose|, to ensure the timeout does not |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 335 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 337 chrome::CloseAllBrowsersAndQuit(); | 336 chrome::CloseAllBrowsersAndQuit(); |
| 338 ASSERT_NO_FATAL_FAILURE(CancelClose()); | 337 ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| 339 cancel_observer.Wait(); | 338 cancel_observer.Wait(); |
| 340 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 339 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 341 | 340 |
| 342 browser()->tab_strip_model() | 341 browser()->tab_strip_model() |
| 343 ->CloseWebContentsAt(1, TabStripModel::CLOSE_USER_GESTURE); | 342 ->CloseWebContentsAt(1, TabStripModel::CLOSE_USER_GESTURE); |
| 344 content::TestNavigationObserver navigation_observer( | 343 content::TestNavigationObserver navigation_observer( |
| 345 browser()->tab_strip_model()->GetActiveWebContents(), 1); | 344 browser()->tab_strip_model()->GetActiveWebContents(), 1); |
| 346 ASSERT_NO_FATAL_FAILURE( | 345 ASSERT_NO_FATAL_FAILURE(NavigateToURLWithDisposition( |
| 347 NavigateToURLWithDisposition(browser(), | 346 browser(), GURL(chrome::kChromeUIVersionURL), |
| 348 GURL(chrome::kChromeUIVersionURL), | 347 WindowOpenDisposition::CURRENT_TAB, ui_test_utils::BROWSER_TEST_NONE)); |
| 349 CURRENT_TAB, | |
| 350 ui_test_utils::BROWSER_TEST_NONE)); | |
| 351 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 348 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 352 navigation_observer.Wait(); | 349 navigation_observer.Wait(); |
| 353 | 350 |
| 354 RepeatedNotificationObserver close_observer( | 351 RepeatedNotificationObserver close_observer( |
| 355 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 352 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 356 chrome::CloseAllBrowsersAndQuit(); | 353 chrome::CloseAllBrowsersAndQuit(); |
| 357 close_observer.Wait(); | 354 close_observer.Wait(); |
| 358 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 355 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 359 EXPECT_TRUE(BrowserList::GetInstance()->empty()); | 356 EXPECT_TRUE(BrowserList::GetInstance()->empty()); |
| 360 } | 357 } |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 883 // Run a dangerous download, but the user doesn't make a decision. | 880 // Run a dangerous download, but the user doesn't make a decision. |
| 884 // This .swf normally would be categorized as DANGEROUS_FILE, but | 881 // This .swf normally would be categorized as DANGEROUS_FILE, but |
| 885 // TestDownloadManagerDelegate turns it into DANGEROUS_URL. | 882 // TestDownloadManagerDelegate turns it into DANGEROUS_URL. |
| 886 GURL download_url(net::URLRequestMockHTTPJob::GetMockUrl( | 883 GURL download_url(net::URLRequestMockHTTPJob::GetMockUrl( |
| 887 "downloads/dangerous/dangerous.swf")); | 884 "downloads/dangerous/dangerous.swf")); |
| 888 content::DownloadTestObserverInterrupted observer( | 885 content::DownloadTestObserverInterrupted observer( |
| 889 content::BrowserContext::GetDownloadManager(browser()->profile()), | 886 content::BrowserContext::GetDownloadManager(browser()->profile()), |
| 890 1, | 887 1, |
| 891 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT); | 888 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT); |
| 892 ui_test_utils::NavigateToURLWithDisposition( | 889 ui_test_utils::NavigateToURLWithDisposition( |
| 893 browser(), | 890 browser(), GURL(download_url), WindowOpenDisposition::NEW_BACKGROUND_TAB, |
| 894 GURL(download_url), | |
| 895 NEW_BACKGROUND_TAB, | |
| 896 ui_test_utils::BROWSER_TEST_NONE); | 891 ui_test_utils::BROWSER_TEST_NONE); |
| 897 observer.WaitForFinished(); | 892 observer.WaitForFinished(); |
| 898 | 893 |
| 899 // Check that the download manager has the expected state. | 894 // Check that the download manager has the expected state. |
| 900 EXPECT_EQ(1, content::BrowserContext::GetDownloadManager( | 895 EXPECT_EQ(1, content::BrowserContext::GetDownloadManager( |
| 901 browser()->profile())->InProgressCount()); | 896 browser()->profile())->InProgressCount()); |
| 902 EXPECT_EQ(0, content::BrowserContext::GetDownloadManager( | 897 EXPECT_EQ(0, content::BrowserContext::GetDownloadManager( |
| 903 browser()->profile())->NonMaliciousInProgressCount()); | 898 browser()->profile())->NonMaliciousInProgressCount()); |
| 904 | 899 |
| 905 // Close the browser with no user action. | 900 // Close the browser with no user action. |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1152 | 1147 |
| 1153 chrome::CloseAllBrowsers(); | 1148 chrome::CloseAllBrowsers(); |
| 1154 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 1149 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 1155 EXPECT_TRUE(BrowserList::GetInstance()->empty()); | 1150 EXPECT_TRUE(BrowserList::GetInstance()->empty()); |
| 1156 EXPECT_TRUE(IsBackgroundModeSuspended()); | 1151 EXPECT_TRUE(IsBackgroundModeSuspended()); |
| 1157 } | 1152 } |
| 1158 | 1153 |
| 1159 INSTANTIATE_TEST_CASE_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 1154 INSTANTIATE_TEST_CASE_P(BrowserCloseManagerWithBackgroundModeBrowserTest, |
| 1160 BrowserCloseManagerWithBackgroundModeBrowserTest, | 1155 BrowserCloseManagerWithBackgroundModeBrowserTest, |
| 1161 testing::Bool()); | 1156 testing::Bool()); |
| OLD | NEW |