OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "base/time.h" | 5 #include "base/time.h" |
6 #include "chrome/app/chrome_dll_resource.h" | 6 #include "chrome/app/chrome_dll_resource.h" |
7 #include "chrome/browser/browser.h" | 7 #include "chrome/browser/browser.h" |
| 8 #include "chrome/browser/browser_navigator.h" |
8 #include "chrome/browser/prefs/pref_service.h" | 9 #include "chrome/browser/prefs/pref_service.h" |
9 #include "chrome/browser/profile.h" | 10 #include "chrome/browser/profile.h" |
10 #include "chrome/browser/tab_contents/interstitial_page.h" | 11 #include "chrome/browser/tab_contents/interstitial_page.h" |
11 #include "chrome/browser/tab_contents/navigation_entry.h" | 12 #include "chrome/browser/tab_contents/navigation_entry.h" |
12 #include "chrome/browser/tab_contents/tab_contents.h" | 13 #include "chrome/browser/tab_contents/tab_contents.h" |
13 #include "chrome/browser/tabs/tab_strip_model.h" | 14 #include "chrome/browser/tabs/tab_strip_model.h" |
14 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
15 #include "chrome/test/in_process_browser_test.h" | 16 #include "chrome/test/in_process_browser_test.h" |
16 #include "chrome/test/ui_test_utils.h" | 17 #include "chrome/test/ui_test_utils.h" |
17 #include "net/base/cert_status_flags.h" | 18 #include "net/base/cert_status_flags.h" |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 https_server_.GetURL("files/ssl/blank_page.html")); | 448 https_server_.GetURL("files/ssl/blank_page.html")); |
448 | 449 |
449 TabContents* tab1 = browser()->GetSelectedTabContents(); | 450 TabContents* tab1 = browser()->GetSelectedTabContents(); |
450 | 451 |
451 // This tab should be fine. | 452 // This tab should be fine. |
452 CheckAuthenticatedState(tab1, false); | 453 CheckAuthenticatedState(tab1, false); |
453 | 454 |
454 // Create a new tab. | 455 // Create a new tab. |
455 GURL url = https_server_.GetURL( | 456 GURL url = https_server_.GetURL( |
456 "files/ssl/page_displays_insecure_content.html"); | 457 "files/ssl/page_displays_insecure_content.html"); |
457 Browser::AddTabWithURLParams params(url, PageTransition::TYPED); | 458 browser::NavigateParams params(browser(), url, PageTransition::TYPED); |
458 params.index = 0; | 459 params.disposition = NEW_FOREGROUND_TAB; |
459 params.instance = tab1->GetSiteInstance(); | 460 params.tabstrip_index = 0; |
460 TabContents* tab2 = browser()->AddTabWithURL(¶ms); | 461 params.source_contents = tab1; |
| 462 browser::Navigate(¶ms); |
| 463 TabContents* tab2 = params.target_contents; |
461 ui_test_utils::WaitForNavigation(&(tab2->controller())); | 464 ui_test_utils::WaitForNavigation(&(tab2->controller())); |
462 | 465 |
463 // The new tab has insecure content. | 466 // The new tab has insecure content. |
464 CheckAuthenticatedState(tab2, true); | 467 CheckAuthenticatedState(tab2, true); |
465 | 468 |
466 // The original tab should not be contaminated. | 469 // The original tab should not be contaminated. |
467 CheckAuthenticatedState(tab1, false); | 470 CheckAuthenticatedState(tab1, false); |
468 } | 471 } |
469 | 472 |
470 // Visits two pages from the same origin: one that runs insecure content and one | 473 // Visits two pages from the same origin: one that runs insecure content and one |
471 // that doesn't. The test checks that we propagate the insecure content state | 474 // that doesn't. The test checks that we propagate the insecure content state |
472 // from one to the other. | 475 // from one to the other. |
473 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) { | 476 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) { |
474 ASSERT_TRUE(test_server()->Start()); | 477 ASSERT_TRUE(test_server()->Start()); |
475 ASSERT_TRUE(https_server_.Start()); | 478 ASSERT_TRUE(https_server_.Start()); |
476 | 479 |
477 ui_test_utils::NavigateToURL(browser(), | 480 ui_test_utils::NavigateToURL(browser(), |
478 https_server_.GetURL("files/ssl/blank_page.html")); | 481 https_server_.GetURL("files/ssl/blank_page.html")); |
479 | 482 |
480 TabContents* tab1 = browser()->GetSelectedTabContents(); | 483 TabContents* tab1 = browser()->GetSelectedTabContents(); |
481 | 484 |
482 // This tab should be fine. | 485 // This tab should be fine. |
483 CheckAuthenticatedState(tab1, false); | 486 CheckAuthenticatedState(tab1, false); |
484 | 487 |
485 // Create a new tab. | 488 // Create a new tab. |
486 GURL url = | 489 GURL url = |
487 https_server_.GetURL("files/ssl/page_runs_insecure_content.html"); | 490 https_server_.GetURL("files/ssl/page_runs_insecure_content.html"); |
488 Browser::AddTabWithURLParams params(url, PageTransition::TYPED); | 491 browser::NavigateParams params(browser(), url, PageTransition::TYPED); |
489 params.instance = tab1->GetSiteInstance(); | 492 params.disposition = NEW_FOREGROUND_TAB; |
490 TabContents* tab2 = browser()->AddTabWithURL(¶ms); | 493 params.source_contents = tab1; |
| 494 browser::Navigate(¶ms); |
| 495 TabContents* tab2 = params.target_contents; |
491 ui_test_utils::WaitForNavigation(&(tab2->controller())); | 496 ui_test_utils::WaitForNavigation(&(tab2->controller())); |
492 | 497 |
493 // The new tab has insecure content. | 498 // The new tab has insecure content. |
494 CheckAuthenticationBrokenState(tab2, 0, true, false); | 499 CheckAuthenticationBrokenState(tab2, 0, true, false); |
495 | 500 |
496 // Which means the origin for the first tab has also been contaminated with | 501 // Which means the origin for the first tab has also been contaminated with |
497 // insecure content. | 502 // insecure content. |
498 CheckAuthenticationBrokenState(tab1, 0, true, false); | 503 CheckAuthenticationBrokenState(tab1, 0, true, false); |
499 } | 504 } |
500 | 505 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 break; | 627 break; |
623 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 628 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
624 new MessageLoop::QuitTask(), 1000); | 629 new MessageLoop::QuitTask(), 1000); |
625 ui_test_utils::RunMessageLoop(); | 630 ui_test_utils::RunMessageLoop(); |
626 } | 631 } |
627 ASSERT_EQ(1, static_cast<int>(tab1->constrained_window_count())); | 632 ASSERT_EQ(1, static_cast<int>(tab1->constrained_window_count())); |
628 | 633 |
629 // Let's add another tab to make sure the browser does not exit when we close | 634 // Let's add another tab to make sure the browser does not exit when we close |
630 // the first tab. | 635 // the first tab. |
631 GURL url = test_server()->GetURL("files/ssl/google.html"); | 636 GURL url = test_server()->GetURL("files/ssl/google.html"); |
632 Browser::AddTabWithURLParams params(url, PageTransition::TYPED); | 637 TabContents* tab2 = |
633 TabContents* tab2 = browser()->AddTabWithURL(¶ms); | 638 browser()->AddSelectedTabWithURL(url, PageTransition::TYPED); |
634 ui_test_utils::WaitForNavigation(&(tab2->controller())); | 639 ui_test_utils::WaitForNavigation(&(tab2->controller())); |
635 | 640 |
636 // Ensure that the tab was created in the correct browser. | |
637 EXPECT_EQ(browser(), params.target); | |
638 | |
639 // Close the first tab. | 641 // Close the first tab. |
640 browser()->CloseTabContents(tab1); | 642 browser()->CloseTabContents(tab1); |
641 } | 643 } |
642 | 644 |
643 // Visit a page over bad https that is a redirect to a page with good https. | 645 // Visit a page over bad https that is a redirect to a page with good https. |
644 // Marked as flaky, see bug 40932. | 646 // Marked as flaky, see bug 40932. |
645 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) { | 647 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) { |
646 ASSERT_TRUE(https_server_.Start()); | 648 ASSERT_TRUE(https_server_.Start()); |
647 ASSERT_TRUE(https_server_expired_.Start()); | 649 ASSERT_TRUE(https_server_expired_.Start()); |
648 | 650 |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
951 | 953 |
952 // Visit a page over https that contains a frame with a redirect. | 954 // Visit a page over https that contains a frame with a redirect. |
953 | 955 |
954 // XMLHttpRequest insecure content in synchronous mode. | 956 // XMLHttpRequest insecure content in synchronous mode. |
955 | 957 |
956 // XMLHttpRequest insecure content in asynchronous mode. | 958 // XMLHttpRequest insecure content in asynchronous mode. |
957 | 959 |
958 // XMLHttpRequest over bad ssl in synchronous mode. | 960 // XMLHttpRequest over bad ssl in synchronous mode. |
959 | 961 |
960 // XMLHttpRequest over OK ssl in synchronous mode. | 962 // XMLHttpRequest over OK ssl in synchronous mode. |
OLD | NEW |