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 |