| 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "chrome/browser/background/background_mode_manager.h" | 9 #include "chrome/browser/background/background_mode_manager.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 observer.WaitForFinished(); | 240 observer.WaitForFinished(); |
| 241 EXPECT_EQ( | 241 EXPECT_EQ( |
| 242 1UL, | 242 1UL, |
| 243 observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS)); | 243 observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS)); |
| 244 } | 244 } |
| 245 | 245 |
| 246 std::vector<Browser*> browsers_; | 246 std::vector<Browser*> browsers_; |
| 247 }; | 247 }; |
| 248 | 248 |
| 249 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestSingleTabShutdown) { | 249 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestSingleTabShutdown) { |
| 250 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 250 ASSERT_TRUE(embedded_test_server()->Start()); |
| 251 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 251 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 252 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 252 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| 253 RepeatedNotificationObserver cancel_observer( | 253 RepeatedNotificationObserver cancel_observer( |
| 254 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 254 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 255 chrome::CloseAllBrowsersAndQuit(); | 255 chrome::CloseAllBrowsersAndQuit(); |
| 256 ASSERT_NO_FATAL_FAILURE(CancelClose()); | 256 ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| 257 cancel_observer.Wait(); | 257 cancel_observer.Wait(); |
| 258 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 258 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 259 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 259 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
| 260 | 260 |
| 261 RepeatedNotificationObserver close_observer( | 261 RepeatedNotificationObserver close_observer( |
| 262 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 262 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 263 chrome::CloseAllBrowsersAndQuit(); | 263 chrome::CloseAllBrowsersAndQuit(); |
| 264 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 264 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 265 close_observer.Wait(); | 265 close_observer.Wait(); |
| 266 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 266 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 267 EXPECT_TRUE(chrome::BrowserIterator().done()); | 267 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 268 } | 268 } |
| 269 | 269 |
| 270 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 270 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 271 TestShutdownMoreThanOnce) { | 271 TestShutdownMoreThanOnce) { |
| 272 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 272 ASSERT_TRUE(embedded_test_server()->Start()); |
| 273 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 273 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 274 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 274 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| 275 RepeatedNotificationObserver cancel_observer( | 275 RepeatedNotificationObserver cancel_observer( |
| 276 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 276 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 277 chrome::CloseAllBrowsersAndQuit(); | 277 chrome::CloseAllBrowsersAndQuit(); |
| 278 chrome::CloseAllBrowsersAndQuit(); | 278 chrome::CloseAllBrowsersAndQuit(); |
| 279 ASSERT_NO_FATAL_FAILURE(CancelClose()); | 279 ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| 280 cancel_observer.Wait(); | 280 cancel_observer.Wait(); |
| 281 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 281 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 282 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 282 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
| 283 | 283 |
| 284 RepeatedNotificationObserver close_observer( | 284 RepeatedNotificationObserver close_observer( |
| 285 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 285 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 286 chrome::CloseAllBrowsersAndQuit(); | 286 chrome::CloseAllBrowsersAndQuit(); |
| 287 chrome::CloseAllBrowsersAndQuit(); | 287 chrome::CloseAllBrowsersAndQuit(); |
| 288 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 288 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 289 close_observer.Wait(); | 289 close_observer.Wait(); |
| 290 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 290 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 291 EXPECT_TRUE(chrome::BrowserIterator().done()); | 291 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 292 } | 292 } |
| 293 | 293 |
| 294 // Test is flaky on Mac. http://crbug.com/517687 | 294 // Test is flaky on Mac. http://crbug.com/517687 |
| 295 #if defined(OS_MACOSX) | 295 #if defined(OS_MACOSX) |
| 296 #define MAYBE_PRE_TestSessionRestore DISABLED_PRE_TestSessionRestore | 296 #define MAYBE_PRE_TestSessionRestore DISABLED_PRE_TestSessionRestore |
| 297 #else | 297 #else |
| 298 #define MAYBE_PRE_TestSessionRestore DISABLED_PRE_TestSessionRestore | 298 #define MAYBE_PRE_TestSessionRestore DISABLED_PRE_TestSessionRestore |
| 299 #endif | 299 #endif |
| 300 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 300 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 301 MAYBE_PRE_TestSessionRestore) { | 301 MAYBE_PRE_TestSessionRestore) { |
| 302 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 302 ASSERT_TRUE(embedded_test_server()->Start()); |
| 303 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 303 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 304 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 304 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| 305 AddBlankTabAndShow(browser()); | 305 AddBlankTabAndShow(browser()); |
| 306 ASSERT_NO_FATAL_FAILURE( | 306 ASSERT_NO_FATAL_FAILURE( |
| 307 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL))); | 307 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL))); |
| 308 RepeatedNotificationObserver cancel_observer( | 308 RepeatedNotificationObserver cancel_observer( |
| 309 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 309 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 310 chrome::CloseAllBrowsersAndQuit(); | 310 chrome::CloseAllBrowsersAndQuit(); |
| 311 ASSERT_NO_FATAL_FAILURE(CancelClose()); | 311 ASSERT_NO_FATAL_FAILURE(CancelClose()); |
| 312 cancel_observer.Wait(); | 312 cancel_observer.Wait(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 EXPECT_EQ(2, browser()->tab_strip_model()->count()); | 346 EXPECT_EQ(2, browser()->tab_strip_model()->count()); |
| 347 EXPECT_EQ(GURL(chrome::kChromeUIVersionURL), | 347 EXPECT_EQ(GURL(chrome::kChromeUIVersionURL), |
| 348 browser()->tab_strip_model()->GetWebContentsAt(0)->GetURL()); | 348 browser()->tab_strip_model()->GetWebContentsAt(0)->GetURL()); |
| 349 EXPECT_EQ(GURL("about:blank"), | 349 EXPECT_EQ(GURL("about:blank"), |
| 350 browser()->tab_strip_model()->GetWebContentsAt(1)->GetURL()); | 350 browser()->tab_strip_model()->GetWebContentsAt(1)->GetURL()); |
| 351 } | 351 } |
| 352 | 352 |
| 353 // Test that browser windows are only closed if all browsers are ready to close | 353 // Test that browser windows are only closed if all browsers are ready to close |
| 354 // and that all beforeunload dialogs are shown again after a cancel. | 354 // and that all beforeunload dialogs are shown again after a cancel. |
| 355 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { | 355 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, TestMultipleWindows) { |
| 356 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 356 ASSERT_TRUE(embedded_test_server()->Start()); |
| 357 browsers_.push_back(CreateBrowser(browser()->profile())); | 357 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 358 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 358 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 359 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 359 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 360 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 360 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 361 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 361 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 362 | 362 |
| 363 // Cancel shutdown on the first beforeunload event. | 363 // Cancel shutdown on the first beforeunload event. |
| 364 { | 364 { |
| 365 RepeatedNotificationObserver cancel_observer( | 365 RepeatedNotificationObserver cancel_observer( |
| 366 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 366 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 // Test is flaky on Mac. See http://crbug.com/517687. | 403 // Test is flaky on Mac. See http://crbug.com/517687. |
| 404 #if defined(OS_WIN) || defined(OS_MACOSX) | 404 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 405 #define MAYBE_TestHangInBeforeUnloadMultipleTabs \ | 405 #define MAYBE_TestHangInBeforeUnloadMultipleTabs \ |
| 406 DISABLED_TestHangInBeforeUnloadMultipleTabs | 406 DISABLED_TestHangInBeforeUnloadMultipleTabs |
| 407 #else | 407 #else |
| 408 #define MAYBE_TestHangInBeforeUnloadMultipleTabs \ | 408 #define MAYBE_TestHangInBeforeUnloadMultipleTabs \ |
| 409 TestHangInBeforeUnloadMultipleTabs | 409 TestHangInBeforeUnloadMultipleTabs |
| 410 #endif | 410 #endif |
| 411 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 411 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 412 MAYBE_TestHangInBeforeUnloadMultipleTabs) { | 412 MAYBE_TestHangInBeforeUnloadMultipleTabs) { |
| 413 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 413 ASSERT_TRUE(embedded_test_server()->Start()); |
| 414 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 414 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 415 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); | 415 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| 416 AddBlankTabAndShow(browsers_[0]); | 416 AddBlankTabAndShow(browsers_[0]); |
| 417 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 417 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 418 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 418 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 419 AddBlankTabAndShow(browsers_[0]); | 419 AddBlankTabAndShow(browsers_[0]); |
| 420 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 420 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 421 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); | 421 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| 422 | 422 |
| 423 RepeatedNotificationObserver cancel_observer( | 423 RepeatedNotificationObserver cancel_observer( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 436 close_observer.Wait(); | 436 close_observer.Wait(); |
| 437 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 437 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 438 EXPECT_TRUE(chrome::BrowserIterator().done()); | 438 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 439 } | 439 } |
| 440 | 440 |
| 441 // Test that tabs in different windows with a beforeunload event that hangs are | 441 // Test that tabs in different windows with a beforeunload event that hangs are |
| 442 // treated the same as the user accepting the close, but do not close the tab | 442 // treated the same as the user accepting the close, but do not close the tab |
| 443 // early. | 443 // early. |
| 444 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 444 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 445 TestHangInBeforeUnloadMultipleWindows) { | 445 TestHangInBeforeUnloadMultipleWindows) { |
| 446 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 446 ASSERT_TRUE(embedded_test_server()->Start()); |
| 447 browsers_.push_back(CreateBrowser(browser()->profile())); | 447 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 448 browsers_.push_back(CreateBrowser(browser()->profile())); | 448 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 449 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 449 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 450 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); | 450 browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| 451 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 451 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 452 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 452 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 453 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 453 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 454 browsers_[2], embedded_test_server()->GetURL("/beforeunload_hang.html"))); | 454 browsers_[2], embedded_test_server()->GetURL("/beforeunload_hang.html"))); |
| 455 | 455 |
| 456 RepeatedNotificationObserver cancel_observer( | 456 RepeatedNotificationObserver cancel_observer( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 469 chrome::CloseAllBrowsersAndQuit(); | 469 chrome::CloseAllBrowsersAndQuit(); |
| 470 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 470 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 471 close_observer.Wait(); | 471 close_observer.Wait(); |
| 472 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 472 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 473 EXPECT_TRUE(chrome::BrowserIterator().done()); | 473 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 474 } | 474 } |
| 475 | 475 |
| 476 // Test that a window created during shutdown is closed. | 476 // Test that a window created during shutdown is closed. |
| 477 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 477 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 478 TestAddWindowDuringShutdown) { | 478 TestAddWindowDuringShutdown) { |
| 479 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 479 ASSERT_TRUE(embedded_test_server()->Start()); |
| 480 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 480 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 481 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 481 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 482 | 482 |
| 483 RepeatedNotificationObserver close_observer( | 483 RepeatedNotificationObserver close_observer( |
| 484 chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 484 chrome::NOTIFICATION_BROWSER_CLOSED, 2); |
| 485 chrome::CloseAllBrowsersAndQuit(); | 485 chrome::CloseAllBrowsersAndQuit(); |
| 486 browsers_.push_back(CreateBrowser(browser()->profile())); | 486 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 487 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 487 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 488 close_observer.Wait(); | 488 close_observer.Wait(); |
| 489 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 489 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 490 EXPECT_TRUE(chrome::BrowserIterator().done()); | 490 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 491 } | 491 } |
| 492 | 492 |
| 493 // Test that a window created during shutdown with a beforeunload handler can | 493 // Test that a window created during shutdown with a beforeunload handler can |
| 494 // cancel the shutdown. | 494 // cancel the shutdown. |
| 495 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 495 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 496 TestAddWindowWithBeforeUnloadDuringShutdown) { | 496 TestAddWindowWithBeforeUnloadDuringShutdown) { |
| 497 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 497 ASSERT_TRUE(embedded_test_server()->Start()); |
| 498 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 498 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 499 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 499 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 500 | 500 |
| 501 RepeatedNotificationObserver cancel_observer( | 501 RepeatedNotificationObserver cancel_observer( |
| 502 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 502 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| 503 chrome::CloseAllBrowsersAndQuit(); | 503 chrome::CloseAllBrowsersAndQuit(); |
| 504 browsers_.push_back(CreateBrowser(browser()->profile())); | 504 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 505 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 505 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 506 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 506 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 507 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 507 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 519 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 519 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 520 close_observer.Wait(); | 520 close_observer.Wait(); |
| 521 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 521 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 522 EXPECT_TRUE(chrome::BrowserIterator().done()); | 522 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 523 } | 523 } |
| 524 | 524 |
| 525 // Test that tabs added during shutdown are closed. | 525 // Test that tabs added during shutdown are closed. |
| 526 // Disabled for being flaky tests: crbug.com/519646 | 526 // Disabled for being flaky tests: crbug.com/519646 |
| 527 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 527 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 528 DISABLED_TestAddTabDuringShutdown) { | 528 DISABLED_TestAddTabDuringShutdown) { |
| 529 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 529 ASSERT_TRUE(embedded_test_server()->Start()); |
| 530 browsers_.push_back(CreateBrowser(browser()->profile())); | 530 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 531 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 531 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 532 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 532 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 533 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 533 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 534 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 534 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 535 | 535 |
| 536 RepeatedNotificationObserver close_observer( | 536 RepeatedNotificationObserver close_observer( |
| 537 chrome::NOTIFICATION_BROWSER_CLOSED, 2); | 537 chrome::NOTIFICATION_BROWSER_CLOSED, 2); |
| 538 chrome::CloseAllBrowsersAndQuit(); | 538 chrome::CloseAllBrowsersAndQuit(); |
| 539 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 539 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 540 AddBlankTabAndShow(browsers_[0]); | 540 AddBlankTabAndShow(browsers_[0]); |
| 541 AddBlankTabAndShow(browsers_[1]); | 541 AddBlankTabAndShow(browsers_[1]); |
| 542 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 542 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 543 close_observer.Wait(); | 543 close_observer.Wait(); |
| 544 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 544 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 545 EXPECT_TRUE(chrome::BrowserIterator().done()); | 545 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 546 } | 546 } |
| 547 | 547 |
| 548 // Test that tabs created during shutdown with beforeunload handlers can cancel | 548 // Test that tabs created during shutdown with beforeunload handlers can cancel |
| 549 // the shutdown. | 549 // the shutdown. |
| 550 // Disabled for being flaky tests: crbug.com/519646 | 550 // Disabled for being flaky tests: crbug.com/519646 |
| 551 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 551 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 552 DISABLED_TestAddTabWithBeforeUnloadDuringShutdown) { | 552 DISABLED_TestAddTabWithBeforeUnloadDuringShutdown) { |
| 553 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 553 ASSERT_TRUE(embedded_test_server()->Start()); |
| 554 browsers_.push_back(CreateBrowser(browser()->profile())); | 554 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 555 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 555 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 556 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 556 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 557 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 557 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 558 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 558 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 559 RepeatedNotificationObserver cancel_observer( | 559 RepeatedNotificationObserver cancel_observer( |
| 560 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 560 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| 561 chrome::CloseAllBrowsersAndQuit(); | 561 chrome::CloseAllBrowsersAndQuit(); |
| 562 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 562 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 563 AddBlankTabAndShow(browsers_[0]); | 563 AddBlankTabAndShow(browsers_[0]); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 581 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 581 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 582 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 582 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 583 | 583 |
| 584 close_observer.Wait(); | 584 close_observer.Wait(); |
| 585 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 585 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 586 EXPECT_TRUE(chrome::BrowserIterator().done()); | 586 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 587 } | 587 } |
| 588 | 588 |
| 589 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 589 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 590 TestCloseTabDuringShutdown) { | 590 TestCloseTabDuringShutdown) { |
| 591 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 591 ASSERT_TRUE(embedded_test_server()->Start()); |
| 592 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 592 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 593 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 593 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 594 RepeatedNotificationObserver cancel_observer( | 594 RepeatedNotificationObserver cancel_observer( |
| 595 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 595 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 596 chrome::CloseAllBrowsersAndQuit(); | 596 chrome::CloseAllBrowsersAndQuit(); |
| 597 | 597 |
| 598 browsers_.push_back(CreateBrowser(browser()->profile())); | 598 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 599 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 599 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 600 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 600 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 601 browsers_[1]->tab_strip_model()->CloseAllTabs(); | 601 browsers_[1]->tab_strip_model()->CloseAllTabs(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 621 // Test is flaky on Windows and Mac. See http://crbug.com/276366. | 621 // Test is flaky on Windows and Mac. See http://crbug.com/276366. |
| 622 #if defined(OS_WIN) || defined(OS_MACOSX) | 622 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 623 #define MAYBE_TestOpenAndCloseWindowDuringShutdown \ | 623 #define MAYBE_TestOpenAndCloseWindowDuringShutdown \ |
| 624 DISABLED_TestOpenAndCloseWindowDuringShutdown | 624 DISABLED_TestOpenAndCloseWindowDuringShutdown |
| 625 #else | 625 #else |
| 626 #define MAYBE_TestOpenAndCloseWindowDuringShutdown \ | 626 #define MAYBE_TestOpenAndCloseWindowDuringShutdown \ |
| 627 TestOpenAndCloseWindowDuringShutdown | 627 TestOpenAndCloseWindowDuringShutdown |
| 628 #endif | 628 #endif |
| 629 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 629 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 630 MAYBE_TestOpenAndCloseWindowDuringShutdown) { | 630 MAYBE_TestOpenAndCloseWindowDuringShutdown) { |
| 631 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 631 ASSERT_TRUE(embedded_test_server()->Start()); |
| 632 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 632 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 633 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 633 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 634 RepeatedNotificationObserver cancel_observer( | 634 RepeatedNotificationObserver cancel_observer( |
| 635 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); | 635 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2); |
| 636 chrome::CloseAllBrowsersAndQuit(); | 636 chrome::CloseAllBrowsersAndQuit(); |
| 637 | 637 |
| 638 browsers_.push_back(CreateBrowser(browser()->profile())); | 638 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 639 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 639 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 640 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 640 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 641 ASSERT_FALSE(browsers_[1]->ShouldCloseWindow()); | 641 ASSERT_FALSE(browsers_[1]->ShouldCloseWindow()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 653 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 653 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 654 ASSERT_NO_FATAL_FAILURE(AcceptClose()); | 654 ASSERT_NO_FATAL_FAILURE(AcceptClose()); |
| 655 | 655 |
| 656 close_observer.Wait(); | 656 close_observer.Wait(); |
| 657 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 657 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 658 EXPECT_TRUE(chrome::BrowserIterator().done()); | 658 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 659 } | 659 } |
| 660 | 660 |
| 661 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, | 661 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerBrowserTest, |
| 662 TestCloseWindowDuringShutdown) { | 662 TestCloseWindowDuringShutdown) { |
| 663 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 663 ASSERT_TRUE(embedded_test_server()->Start()); |
| 664 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 664 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 665 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); | 665 browsers_[0], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 666 browsers_.push_back(CreateBrowser(browser()->profile())); | 666 browsers_.push_back(CreateBrowser(browser()->profile())); |
| 667 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 667 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 668 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); | 668 browsers_[1], embedded_test_server()->GetURL("/beforeunload.html"))); |
| 669 RepeatedNotificationObserver cancel_observer( | 669 RepeatedNotificationObserver cancel_observer( |
| 670 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); | 670 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1); |
| 671 chrome::CloseAllBrowsersAndQuit(); | 671 chrome::CloseAllBrowsersAndQuit(); |
| 672 | 672 |
| 673 ASSERT_FALSE(browsers_[0]->ShouldCloseWindow()); | 673 ASSERT_FALSE(browsers_[0]->ShouldCloseWindow()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 723 private: | 723 private: |
| 724 base::ScopedTempDir scoped_download_directory_; | 724 base::ScopedTempDir scoped_download_directory_; |
| 725 }; | 725 }; |
| 726 | 726 |
| 727 // Mac has its own in-progress download prompt in app_controller_mac.mm, so | 727 // Mac has its own in-progress download prompt in app_controller_mac.mm, so |
| 728 // BrowserCloseManager should simply close all browsers. If there are no | 728 // BrowserCloseManager should simply close all browsers. If there are no |
| 729 // browsers, it should not crash. | 729 // browsers, it should not crash. |
| 730 #if defined(OS_MACOSX) | 730 #if defined(OS_MACOSX) |
| 731 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 731 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| 732 TestWithDownloads) { | 732 TestWithDownloads) { |
| 733 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 733 ASSERT_TRUE(embedded_test_server()->Start()); |
| 734 SetDownloadPathForProfile(browser()->profile()); | 734 SetDownloadPathForProfile(browser()->profile()); |
| 735 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 735 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); |
| 736 | 736 |
| 737 RepeatedNotificationObserver close_observer( | 737 RepeatedNotificationObserver close_observer( |
| 738 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 738 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 739 | 739 |
| 740 TestBrowserCloseManager::AttemptClose( | 740 TestBrowserCloseManager::AttemptClose( |
| 741 TestBrowserCloseManager::NO_USER_CHOICE); | 741 TestBrowserCloseManager::NO_USER_CHOICE); |
| 742 close_observer.Wait(); | 742 close_observer.Wait(); |
| 743 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 743 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 744 EXPECT_TRUE(chrome::BrowserIterator().done()); | 744 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 745 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); | 745 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); |
| 746 | 746 |
| 747 // Attempting to close again should not crash. | 747 // Attempting to close again should not crash. |
| 748 TestBrowserCloseManager::AttemptClose( | 748 TestBrowserCloseManager::AttemptClose( |
| 749 TestBrowserCloseManager::NO_USER_CHOICE); | 749 TestBrowserCloseManager::NO_USER_CHOICE); |
| 750 } | 750 } |
| 751 #else // defined(OS_MACOSX) | 751 #else // defined(OS_MACOSX) |
| 752 | 752 |
| 753 // Test shutdown with a DANGEROUS_URL download undecided. | 753 // Test shutdown with a DANGEROUS_URL download undecided. |
| 754 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 754 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| 755 TestWithDangerousUrlDownload) { | 755 TestWithDangerousUrlDownload) { |
| 756 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 756 ASSERT_TRUE(embedded_test_server()->Start()); |
| 757 SetDownloadPathForProfile(browser()->profile()); | 757 SetDownloadPathForProfile(browser()->profile()); |
| 758 | 758 |
| 759 // Set up the fake delegate that forces the download to be malicious. | 759 // Set up the fake delegate that forces the download to be malicious. |
| 760 scoped_ptr<TestDownloadManagerDelegate> test_delegate( | 760 scoped_ptr<TestDownloadManagerDelegate> test_delegate( |
| 761 new TestDownloadManagerDelegate(browser()->profile())); | 761 new TestDownloadManagerDelegate(browser()->profile())); |
| 762 DownloadServiceFactory::GetForBrowserContext(browser()->profile()) | 762 DownloadServiceFactory::GetForBrowserContext(browser()->profile()) |
| 763 ->SetDownloadManagerDelegateForTesting(test_delegate.Pass()); | 763 ->SetDownloadManagerDelegateForTesting(test_delegate.Pass()); |
| 764 | 764 |
| 765 // Run a dangerous download, but the user doesn't make a decision. | 765 // Run a dangerous download, but the user doesn't make a decision. |
| 766 // This .swf normally would be categorized as DANGEROUS_FILE, but | 766 // This .swf normally would be categorized as DANGEROUS_FILE, but |
| (...skipping 23 matching lines...) Expand all Loading... |
| 790 TestBrowserCloseManager::AttemptClose( | 790 TestBrowserCloseManager::AttemptClose( |
| 791 TestBrowserCloseManager::NO_USER_CHOICE); | 791 TestBrowserCloseManager::NO_USER_CHOICE); |
| 792 close_observer.Wait(); | 792 close_observer.Wait(); |
| 793 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 793 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 794 EXPECT_TRUE(chrome::BrowserIterator().done()); | 794 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 795 } | 795 } |
| 796 | 796 |
| 797 // Test shutdown with a download in progress. | 797 // Test shutdown with a download in progress. |
| 798 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 798 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| 799 TestWithDownloads) { | 799 TestWithDownloads) { |
| 800 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 800 ASSERT_TRUE(embedded_test_server()->Start()); |
| 801 SetDownloadPathForProfile(browser()->profile()); | 801 SetDownloadPathForProfile(browser()->profile()); |
| 802 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 802 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); |
| 803 content::TestNavigationObserver navigation_observer( | 803 content::TestNavigationObserver navigation_observer( |
| 804 browser()->tab_strip_model()->GetActiveWebContents(), 1); | 804 browser()->tab_strip_model()->GetActiveWebContents(), 1); |
| 805 TestBrowserCloseManager::AttemptClose( | 805 TestBrowserCloseManager::AttemptClose( |
| 806 TestBrowserCloseManager::USER_CHOICE_USER_CANCELS_CLOSE); | 806 TestBrowserCloseManager::USER_CHOICE_USER_CANCELS_CLOSE); |
| 807 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 807 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 808 navigation_observer.Wait(); | 808 navigation_observer.Wait(); |
| 809 EXPECT_EQ(GURL(chrome::kChromeUIDownloadsURL), | 809 EXPECT_EQ(GURL(chrome::kChromeUIDownloadsURL), |
| 810 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); | 810 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); |
| 811 | 811 |
| 812 RepeatedNotificationObserver close_observer( | 812 RepeatedNotificationObserver close_observer( |
| 813 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 813 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 814 | 814 |
| 815 TestBrowserCloseManager::AttemptClose( | 815 TestBrowserCloseManager::AttemptClose( |
| 816 TestBrowserCloseManager::USER_CHOICE_USER_ALLOWS_CLOSE); | 816 TestBrowserCloseManager::USER_CHOICE_USER_ALLOWS_CLOSE); |
| 817 close_observer.Wait(); | 817 close_observer.Wait(); |
| 818 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); | 818 EXPECT_TRUE(browser_shutdown::IsTryingToQuit()); |
| 819 EXPECT_TRUE(chrome::BrowserIterator().done()); | 819 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 820 if (browser_defaults::kBrowserAliveWithNoWindows) | 820 if (browser_defaults::kBrowserAliveWithNoWindows) |
| 821 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); | 821 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); |
| 822 else | 822 else |
| 823 EXPECT_EQ(0, DownloadService::NonMaliciousDownloadCountAllProfiles()); | 823 EXPECT_EQ(0, DownloadService::NonMaliciousDownloadCountAllProfiles()); |
| 824 } | 824 } |
| 825 | 825 |
| 826 // Test shutdown with a download in progress in an off-the-record profile. | 826 // Test shutdown with a download in progress in an off-the-record profile. |
| 827 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 827 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| 828 TestWithOffTheRecordDownloads) { | 828 TestWithOffTheRecordDownloads) { |
| 829 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 829 ASSERT_TRUE(embedded_test_server()->Start()); |
| 830 Profile* otr_profile = browser()->profile()->GetOffTheRecordProfile(); | 830 Profile* otr_profile = browser()->profile()->GetOffTheRecordProfile(); |
| 831 SetDownloadPathForProfile(otr_profile); | 831 SetDownloadPathForProfile(otr_profile); |
| 832 Browser* otr_browser = CreateBrowser(otr_profile); | 832 Browser* otr_browser = CreateBrowser(otr_profile); |
| 833 { | 833 { |
| 834 RepeatedNotificationObserver close_observer( | 834 RepeatedNotificationObserver close_observer( |
| 835 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 835 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 836 browser()->window()->Close(); | 836 browser()->window()->Close(); |
| 837 close_observer.Wait(); | 837 close_observer.Wait(); |
| 838 } | 838 } |
| 839 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(otr_browser)); | 839 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(otr_browser)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 864 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 864 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 865 base::FilePath path = | 865 base::FilePath path = |
| 866 profile_manager->user_data_dir().AppendASCII("test_profile"); | 866 profile_manager->user_data_dir().AppendASCII("test_profile"); |
| 867 if (!base::PathExists(path)) | 867 if (!base::PathExists(path)) |
| 868 ASSERT_TRUE(base::CreateDirectory(path)); | 868 ASSERT_TRUE(base::CreateDirectory(path)); |
| 869 Profile* other_profile = | 869 Profile* other_profile = |
| 870 Profile::CreateProfile(path, NULL, Profile::CREATE_MODE_SYNCHRONOUS); | 870 Profile::CreateProfile(path, NULL, Profile::CREATE_MODE_SYNCHRONOUS); |
| 871 profile_manager->RegisterTestingProfile(other_profile, true, false); | 871 profile_manager->RegisterTestingProfile(other_profile, true, false); |
| 872 Browser* other_profile_browser = CreateBrowser(other_profile); | 872 Browser* other_profile_browser = CreateBrowser(other_profile); |
| 873 | 873 |
| 874 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 874 ASSERT_TRUE(embedded_test_server()->Start()); |
| 875 SetDownloadPathForProfile(browser()->profile()); | 875 SetDownloadPathForProfile(browser()->profile()); |
| 876 SetDownloadPathForProfile(other_profile); | 876 SetDownloadPathForProfile(other_profile); |
| 877 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 877 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); |
| 878 { | 878 { |
| 879 RepeatedNotificationObserver close_observer( | 879 RepeatedNotificationObserver close_observer( |
| 880 chrome::NOTIFICATION_BROWSER_CLOSED, 1); | 880 chrome::NOTIFICATION_BROWSER_CLOSED, 1); |
| 881 browser()->window()->Close(); | 881 browser()->window()->Close(); |
| 882 close_observer.Wait(); | 882 close_observer.Wait(); |
| 883 } | 883 } |
| 884 | 884 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 907 if (browser_defaults::kBrowserAliveWithNoWindows) | 907 if (browser_defaults::kBrowserAliveWithNoWindows) |
| 908 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); | 908 EXPECT_EQ(1, DownloadService::NonMaliciousDownloadCountAllProfiles()); |
| 909 else | 909 else |
| 910 EXPECT_EQ(0, DownloadService::NonMaliciousDownloadCountAllProfiles()); | 910 EXPECT_EQ(0, DownloadService::NonMaliciousDownloadCountAllProfiles()); |
| 911 } | 911 } |
| 912 | 912 |
| 913 // Test shutdown with downloads in progress and beforeunload handlers. | 913 // Test shutdown with downloads in progress and beforeunload handlers. |
| 914 // Disabled, see http://crbug.com/315754. | 914 // Disabled, see http://crbug.com/315754. |
| 915 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, | 915 IN_PROC_BROWSER_TEST_P(BrowserCloseManagerWithDownloadsBrowserTest, |
| 916 DISABLED_TestBeforeUnloadAndDownloads) { | 916 DISABLED_TestBeforeUnloadAndDownloads) { |
| 917 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 917 ASSERT_TRUE(embedded_test_server()->Start()); |
| 918 SetDownloadPathForProfile(browser()->profile()); | 918 SetDownloadPathForProfile(browser()->profile()); |
| 919 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); | 919 ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser())); |
| 920 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( | 920 ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL( |
| 921 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); | 921 browser(), embedded_test_server()->GetURL("/beforeunload.html"))); |
| 922 | 922 |
| 923 content::WindowedNotificationObserver cancel_observer( | 923 content::WindowedNotificationObserver cancel_observer( |
| 924 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, | 924 chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, |
| 925 content::NotificationService::AllSources()); | 925 content::NotificationService::AllSources()); |
| 926 TestBrowserCloseManager::AttemptClose( | 926 TestBrowserCloseManager::AttemptClose( |
| 927 TestBrowserCloseManager::USER_CHOICE_USER_CANCELS_CLOSE); | 927 TestBrowserCloseManager::USER_CHOICE_USER_CANCELS_CLOSE); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 | 1032 |
| 1033 chrome::CloseAllBrowsers(); | 1033 chrome::CloseAllBrowsers(); |
| 1034 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); | 1034 EXPECT_FALSE(browser_shutdown::IsTryingToQuit()); |
| 1035 EXPECT_TRUE(chrome::BrowserIterator().done()); | 1035 EXPECT_TRUE(chrome::BrowserIterator().done()); |
| 1036 EXPECT_TRUE(IsBackgroundModeSuspended()); | 1036 EXPECT_TRUE(IsBackgroundModeSuspended()); |
| 1037 } | 1037 } |
| 1038 | 1038 |
| 1039 INSTANTIATE_TEST_CASE_P(BrowserCloseManagerWithBackgroundModeBrowserTest, | 1039 INSTANTIATE_TEST_CASE_P(BrowserCloseManagerWithBackgroundModeBrowserTest, |
| 1040 BrowserCloseManagerWithBackgroundModeBrowserTest, | 1040 BrowserCloseManagerWithBackgroundModeBrowserTest, |
| 1041 testing::Bool()); | 1041 testing::Bool()); |
| OLD | NEW |