| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/time.h" | 6 #include "base/time.h" |
| 7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
| 8 #include "chrome/browser/tabs/tab_strip_model.h" | 8 #include "chrome/browser/tabs/tab_strip_model.h" |
| 9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
| 10 #include "chrome/browser/ui/browser_navigator.h" | 10 #include "chrome/browser/ui/browser_navigator.h" |
| 11 #include "chrome/browser/ui/constrained_window_tab_helper.h" | 11 #include "chrome/browser/ui/constrained_window_tab_helper.h" |
| 12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 13 #include "chrome/common/chrome_notification_types.h" | 13 #include "chrome/common/chrome_notification_types.h" |
| 14 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
| 15 #include "chrome/test/base/in_process_browser_test.h" | 15 #include "chrome/test/base/in_process_browser_test.h" |
| 16 #include "chrome/test/base/ui_test_utils.h" | 16 #include "chrome/test/base/ui_test_utils.h" |
| 17 #include "content/browser/renderer_host/render_view_host.h" | 17 #include "content/browser/renderer_host/render_view_host.h" |
| 18 #include "content/browser/tab_contents/interstitial_page.h" | 18 #include "content/browser/tab_contents/interstitial_page.h" |
| 19 #include "content/browser/tab_contents/tab_contents.h" | 19 #include "content/browser/tab_contents/tab_contents.h" |
| 20 #include "content/public/browser/navigation_entry.h" | 20 #include "content/public/browser/navigation_entry.h" |
| 21 #include "content/public/browser/notification_service.h" | 21 #include "content/public/browser/notification_service.h" |
| 22 #include "content/public/browser/ssl_status.h" | 22 #include "content/public/browser/ssl_status.h" |
| 23 #include "content/public/common/security_style.h" | 23 #include "content/public/common/security_style.h" |
| 24 #include "net/base/cert_status_flags.h" | 24 #include "net/base/cert_status_flags.h" |
| 25 #include "net/test/test_server.h" | 25 #include "net/test/test_server.h" |
| 26 | 26 |
| 27 using content::NavigationEntry; |
| 27 using content::SSLStatus; | 28 using content::SSLStatus; |
| 28 | 29 |
| 29 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); | 30 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); |
| 30 | 31 |
| 31 class SSLUITest : public InProcessBrowserTest { | 32 class SSLUITest : public InProcessBrowserTest { |
| 32 typedef net::TestServer::HTTPSOptions HTTPSOptions; | 33 typedef net::TestServer::HTTPSOptions HTTPSOptions; |
| 33 | 34 |
| 34 public: | 35 public: |
| 35 SSLUITest() | 36 SSLUITest() |
| 36 : https_server_( | 37 : https_server_( |
| 37 HTTPSOptions(HTTPSOptions::CERT_OK), FilePath(kDocRoot)), | 38 HTTPSOptions(HTTPSOptions::CERT_OK), FilePath(kDocRoot)), |
| 38 https_server_expired_( | 39 https_server_expired_( |
| 39 HTTPSOptions(HTTPSOptions::CERT_EXPIRED), FilePath(kDocRoot)), | 40 HTTPSOptions(HTTPSOptions::CERT_EXPIRED), FilePath(kDocRoot)), |
| 40 https_server_mismatched_( | 41 https_server_mismatched_( |
| 41 HTTPSOptions(HTTPSOptions::CERT_MISMATCHED_NAME), | 42 HTTPSOptions(HTTPSOptions::CERT_MISMATCHED_NAME), |
| 42 FilePath(kDocRoot)) { | 43 FilePath(kDocRoot)) { |
| 43 EnableDOMAutomation(); | 44 EnableDOMAutomation(); |
| 44 } | 45 } |
| 45 | 46 |
| 46 // Browser will both run and display insecure content. | 47 // Browser will both run and display insecure content. |
| 47 virtual void SetUpCommandLine(CommandLine* command_line) { | 48 virtual void SetUpCommandLine(CommandLine* command_line) { |
| 48 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); | 49 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); |
| 49 } | 50 } |
| 50 | 51 |
| 51 void CheckAuthenticatedState(TabContents* tab, | 52 void CheckAuthenticatedState(TabContents* tab, |
| 52 bool displayed_insecure_content) { | 53 bool displayed_insecure_content) { |
| 53 ASSERT_FALSE(tab->IsCrashed()); | 54 ASSERT_FALSE(tab->IsCrashed()); |
| 54 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 55 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 55 ASSERT_TRUE(entry); | 56 ASSERT_TRUE(entry); |
| 56 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType()); | 57 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType()); |
| 57 EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATED, | 58 EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATED, |
| 58 entry->GetSSL().security_style); | 59 entry->GetSSL().security_style); |
| 59 EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS); | 60 EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS); |
| 60 EXPECT_EQ(displayed_insecure_content, | 61 EXPECT_EQ(displayed_insecure_content, |
| 61 !!(entry->GetSSL().content_status & | 62 !!(entry->GetSSL().content_status & |
| 62 SSLStatus::DISPLAYED_INSECURE_CONTENT)); | 63 SSLStatus::DISPLAYED_INSECURE_CONTENT)); |
| 63 EXPECT_FALSE( | 64 EXPECT_FALSE( |
| 64 !!(entry->GetSSL().content_status & SSLStatus::RAN_INSECURE_CONTENT)); | 65 !!(entry->GetSSL().content_status & SSLStatus::RAN_INSECURE_CONTENT)); |
| 65 } | 66 } |
| 66 | 67 |
| 67 void CheckUnauthenticatedState(TabContents* tab) { | 68 void CheckUnauthenticatedState(TabContents* tab) { |
| 68 ASSERT_FALSE(tab->IsCrashed()); | 69 ASSERT_FALSE(tab->IsCrashed()); |
| 69 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 70 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 70 ASSERT_TRUE(entry); | 71 ASSERT_TRUE(entry); |
| 71 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType()); | 72 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry->GetPageType()); |
| 72 EXPECT_EQ(content::SECURITY_STYLE_UNAUTHENTICATED, | 73 EXPECT_EQ(content::SECURITY_STYLE_UNAUTHENTICATED, |
| 73 entry->GetSSL().security_style); | 74 entry->GetSSL().security_style); |
| 74 EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS); | 75 EXPECT_EQ(0U, entry->GetSSL().cert_status & net::CERT_STATUS_ALL_ERRORS); |
| 75 EXPECT_FALSE(!!(entry->GetSSL().content_status & | 76 EXPECT_FALSE(!!(entry->GetSSL().content_status & |
| 76 SSLStatus::DISPLAYED_INSECURE_CONTENT)); | 77 SSLStatus::DISPLAYED_INSECURE_CONTENT)); |
| 77 EXPECT_FALSE( | 78 EXPECT_FALSE( |
| 78 !!(entry->GetSSL().content_status & SSLStatus::RAN_INSECURE_CONTENT)); | 79 !!(entry->GetSSL().content_status & SSLStatus::RAN_INSECURE_CONTENT)); |
| 79 } | 80 } |
| 80 | 81 |
| 81 void CheckAuthenticationBrokenState(TabContents* tab, | 82 void CheckAuthenticationBrokenState(TabContents* tab, |
| 82 net::CertStatus error, | 83 net::CertStatus error, |
| 83 bool ran_insecure_content, | 84 bool ran_insecure_content, |
| 84 bool interstitial) { | 85 bool interstitial) { |
| 85 ASSERT_FALSE(tab->IsCrashed()); | 86 ASSERT_FALSE(tab->IsCrashed()); |
| 86 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 87 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 87 ASSERT_TRUE(entry); | 88 ASSERT_TRUE(entry); |
| 88 EXPECT_EQ(interstitial ? | 89 EXPECT_EQ(interstitial ? |
| 89 content::PAGE_TYPE_INTERSTITIAL : content::PAGE_TYPE_NORMAL, | 90 content::PAGE_TYPE_INTERSTITIAL : content::PAGE_TYPE_NORMAL, |
| 90 entry->GetPageType()); | 91 entry->GetPageType()); |
| 91 EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATION_BROKEN, | 92 EXPECT_EQ(content::SECURITY_STYLE_AUTHENTICATION_BROKEN, |
| 92 entry->GetSSL().security_style); | 93 entry->GetSSL().security_style); |
| 93 // CERT_STATUS_UNABLE_TO_CHECK_REVOCATION doesn't lower the security style | 94 // CERT_STATUS_UNABLE_TO_CHECK_REVOCATION doesn't lower the security style |
| 94 // to SECURITY_STYLE_AUTHENTICATION_BROKEN. | 95 // to SECURITY_STYLE_AUTHENTICATION_BROKEN. |
| 95 ASSERT_NE(net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, error); | 96 ASSERT_NE(net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, error); |
| 96 EXPECT_EQ(error, | 97 EXPECT_EQ(error, |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) { | 322 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) { |
| 322 ASSERT_TRUE(test_server()->Start()); | 323 ASSERT_TRUE(test_server()->Start()); |
| 323 ASSERT_TRUE(https_server_.Start()); | 324 ASSERT_TRUE(https_server_.Start()); |
| 324 ASSERT_TRUE(https_server_expired_.Start()); | 325 ASSERT_TRUE(https_server_expired_.Start()); |
| 325 | 326 |
| 326 // First navigate to an OK page. | 327 // First navigate to an OK page. |
| 327 ui_test_utils::NavigateToURL(browser(), | 328 ui_test_utils::NavigateToURL(browser(), |
| 328 https_server_.GetURL("files/ssl/google.html")); | 329 https_server_.GetURL("files/ssl/google.html")); |
| 329 | 330 |
| 330 TabContents* tab = browser()->GetSelectedTabContents(); | 331 TabContents* tab = browser()->GetSelectedTabContents(); |
| 331 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 332 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 332 ASSERT_TRUE(entry); | 333 ASSERT_TRUE(entry); |
| 333 | 334 |
| 334 GURL cross_site_url = | 335 GURL cross_site_url = |
| 335 https_server_expired_.GetURL("files/ssl/google.html"); | 336 https_server_expired_.GetURL("files/ssl/google.html"); |
| 336 // Change the host name from 127.0.0.1 to localhost so it triggers a | 337 // Change the host name from 127.0.0.1 to localhost so it triggers a |
| 337 // cross-site navigation so we can test http://crbug.com/5800 is gone. | 338 // cross-site navigation so we can test http://crbug.com/5800 is gone. |
| 338 ASSERT_EQ("127.0.0.1", cross_site_url.host()); | 339 ASSERT_EQ("127.0.0.1", cross_site_url.host()); |
| 339 GURL::Replacements replacements; | 340 GURL::Replacements replacements; |
| 340 std::string new_host("localhost"); | 341 std::string new_host("localhost"); |
| 341 replacements.SetHostStr(new_host); | 342 replacements.SetHostStr(new_host); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 366 // Marked as flaky, see bug 40932. | 367 // Marked as flaky, see bug 40932. |
| 367 IN_PROC_BROWSER_TEST_F(SSLUITest, | 368 IN_PROC_BROWSER_TEST_F(SSLUITest, |
| 368 FLAKY_TestHTTPSExpiredCertAndGoBackViaButton) { | 369 FLAKY_TestHTTPSExpiredCertAndGoBackViaButton) { |
| 369 ASSERT_TRUE(test_server()->Start()); | 370 ASSERT_TRUE(test_server()->Start()); |
| 370 ASSERT_TRUE(https_server_expired_.Start()); | 371 ASSERT_TRUE(https_server_expired_.Start()); |
| 371 | 372 |
| 372 // First navigate to an HTTP page. | 373 // First navigate to an HTTP page. |
| 373 ui_test_utils::NavigateToURL(browser(), | 374 ui_test_utils::NavigateToURL(browser(), |
| 374 test_server()->GetURL("files/ssl/google.html")); | 375 test_server()->GetURL("files/ssl/google.html")); |
| 375 TabContents* tab = browser()->GetSelectedTabContents(); | 376 TabContents* tab = browser()->GetSelectedTabContents(); |
| 376 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 377 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 377 ASSERT_TRUE(entry); | 378 ASSERT_TRUE(entry); |
| 378 | 379 |
| 379 // Now go to a bad HTTPS page that shows an interstitial. | 380 // Now go to a bad HTTPS page that shows an interstitial. |
| 380 ui_test_utils::NavigateToURL(browser(), | 381 ui_test_utils::NavigateToURL(browser(), |
| 381 https_server_expired_.GetURL("files/ssl/google.html")); | 382 https_server_expired_.GetURL("files/ssl/google.html")); |
| 382 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, | 383 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, |
| 383 true); // Interstitial showing | 384 true); // Interstitial showing |
| 384 | 385 |
| 385 ui_test_utils::WindowedNotificationObserver load_failed_observer( | 386 ui_test_utils::WindowedNotificationObserver load_failed_observer( |
| 386 content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR, | 387 content::NOTIFICATION_FAIL_PROVISIONAL_LOAD_WITH_ERROR, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 402 // Visits a page with https error and then goes back using GoToOffset. | 403 // Visits a page with https error and then goes back using GoToOffset. |
| 403 // Marked as flaky, see bug 40932. | 404 // Marked as flaky, see bug 40932. |
| 404 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) { | 405 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) { |
| 405 ASSERT_TRUE(test_server()->Start()); | 406 ASSERT_TRUE(test_server()->Start()); |
| 406 ASSERT_TRUE(https_server_expired_.Start()); | 407 ASSERT_TRUE(https_server_expired_.Start()); |
| 407 | 408 |
| 408 // First navigate to an HTTP page. | 409 // First navigate to an HTTP page. |
| 409 ui_test_utils::NavigateToURL(browser(), | 410 ui_test_utils::NavigateToURL(browser(), |
| 410 test_server()->GetURL("files/ssl/google.html")); | 411 test_server()->GetURL("files/ssl/google.html")); |
| 411 TabContents* tab = browser()->GetSelectedTabContents(); | 412 TabContents* tab = browser()->GetSelectedTabContents(); |
| 412 content::NavigationEntry* entry = tab->GetController().GetActiveEntry(); | 413 NavigationEntry* entry = tab->GetController().GetActiveEntry(); |
| 413 ASSERT_TRUE(entry); | 414 ASSERT_TRUE(entry); |
| 414 | 415 |
| 415 // Now go to a bad HTTPS page that shows an interstitial. | 416 // Now go to a bad HTTPS page that shows an interstitial. |
| 416 ui_test_utils::NavigateToURL(browser(), | 417 ui_test_utils::NavigateToURL(browser(), |
| 417 https_server_expired_.GetURL("files/ssl/google.html")); | 418 https_server_expired_.GetURL("files/ssl/google.html")); |
| 418 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, | 419 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, |
| 419 true); // Interstitial showing | 420 true); // Interstitial showing |
| 420 | 421 |
| 421 // Simulate user clicking and holding on back button (crbug.com/37215). | 422 // Simulate user clicking and holding on back button (crbug.com/37215). |
| 422 tab->GetController().GoToOffset(-1); | 423 tab->GetController().GoToOffset(-1); |
| 423 | 424 |
| 424 // We should be back at the original good page. | 425 // We should be back at the original good page. |
| 425 EXPECT_FALSE(browser()->GetSelectedTabContents()->GetInterstitialPage()); | 426 EXPECT_FALSE(browser()->GetSelectedTabContents()->GetInterstitialPage()); |
| 426 CheckUnauthenticatedState(tab); | 427 CheckUnauthenticatedState(tab); |
| 427 } | 428 } |
| 428 | 429 |
| 429 // Visits a page with https error and then goes forward using GoToOffset. | 430 // Visits a page with https error and then goes forward using GoToOffset. |
| 430 // Marked as flaky, see bug 40932. | 431 // Marked as flaky, see bug 40932. |
| 431 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) { | 432 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) { |
| 432 ASSERT_TRUE(test_server()->Start()); | 433 ASSERT_TRUE(test_server()->Start()); |
| 433 ASSERT_TRUE(https_server_expired_.Start()); | 434 ASSERT_TRUE(https_server_expired_.Start()); |
| 434 | 435 |
| 435 // First navigate to two HTTP pages. | 436 // First navigate to two HTTP pages. |
| 436 ui_test_utils::NavigateToURL(browser(), | 437 ui_test_utils::NavigateToURL(browser(), |
| 437 test_server()->GetURL("files/ssl/google.html")); | 438 test_server()->GetURL("files/ssl/google.html")); |
| 438 TabContents* tab = browser()->GetSelectedTabContents(); | 439 TabContents* tab = browser()->GetSelectedTabContents(); |
| 439 content::NavigationEntry* entry1 = tab->GetController().GetActiveEntry(); | 440 NavigationEntry* entry1 = tab->GetController().GetActiveEntry(); |
| 440 ASSERT_TRUE(entry1); | 441 ASSERT_TRUE(entry1); |
| 441 ui_test_utils::NavigateToURL(browser(), | 442 ui_test_utils::NavigateToURL(browser(), |
| 442 test_server()->GetURL("files/ssl/blank_page.html")); | 443 test_server()->GetURL("files/ssl/blank_page.html")); |
| 443 content::NavigationEntry* entry2 = tab->GetController().GetActiveEntry(); | 444 NavigationEntry* entry2 = tab->GetController().GetActiveEntry(); |
| 444 ASSERT_TRUE(entry2); | 445 ASSERT_TRUE(entry2); |
| 445 | 446 |
| 446 // Now go back so that a page is in the forward history. | 447 // Now go back so that a page is in the forward history. |
| 447 { | 448 { |
| 448 ui_test_utils::WindowedNotificationObserver observer( | 449 ui_test_utils::WindowedNotificationObserver observer( |
| 449 content::NOTIFICATION_LOAD_STOP, | 450 content::NOTIFICATION_LOAD_STOP, |
| 450 content::Source<NavigationController>(&tab->GetController())); | 451 content::Source<NavigationController>(&tab->GetController())); |
| 451 tab->GetController().GoBack(); | 452 tab->GetController().GoBack(); |
| 452 observer.Wait(); | 453 observer.Wait(); |
| 453 } | 454 } |
| 454 ASSERT_TRUE(tab->GetController().CanGoForward()); | 455 ASSERT_TRUE(tab->GetController().CanGoForward()); |
| 455 content::NavigationEntry* entry3 = tab->GetController().GetActiveEntry(); | 456 NavigationEntry* entry3 = tab->GetController().GetActiveEntry(); |
| 456 ASSERT_TRUE(entry1 == entry3); | 457 ASSERT_TRUE(entry1 == entry3); |
| 457 | 458 |
| 458 // Now go to a bad HTTPS page that shows an interstitial. | 459 // Now go to a bad HTTPS page that shows an interstitial. |
| 459 ui_test_utils::NavigateToURL(browser(), | 460 ui_test_utils::NavigateToURL(browser(), |
| 460 https_server_expired_.GetURL("files/ssl/google.html")); | 461 https_server_expired_.GetURL("files/ssl/google.html")); |
| 461 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, | 462 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, |
| 462 true); // Interstitial showing | 463 true); // Interstitial showing |
| 463 | 464 |
| 464 // Simulate user clicking and holding on forward button. | 465 // Simulate user clicking and holding on forward button. |
| 465 { | 466 { |
| 466 ui_test_utils::WindowedNotificationObserver observer( | 467 ui_test_utils::WindowedNotificationObserver observer( |
| 467 content::NOTIFICATION_LOAD_STOP, | 468 content::NOTIFICATION_LOAD_STOP, |
| 468 content::Source<NavigationController>(&tab->GetController())); | 469 content::Source<NavigationController>(&tab->GetController())); |
| 469 tab->GetController().GoToOffset(1); | 470 tab->GetController().GoToOffset(1); |
| 470 observer.Wait(); | 471 observer.Wait(); |
| 471 } | 472 } |
| 472 | 473 |
| 473 // We should be showing the second good page. | 474 // We should be showing the second good page. |
| 474 EXPECT_FALSE(browser()->GetSelectedTabContents()->GetInterstitialPage()); | 475 EXPECT_FALSE(browser()->GetSelectedTabContents()->GetInterstitialPage()); |
| 475 CheckUnauthenticatedState(tab); | 476 CheckUnauthenticatedState(tab); |
| 476 EXPECT_FALSE(tab->GetController().CanGoForward()); | 477 EXPECT_FALSE(tab->GetController().CanGoForward()); |
| 477 content::NavigationEntry* entry4 = tab->GetController().GetActiveEntry(); | 478 NavigationEntry* entry4 = tab->GetController().GetActiveEntry(); |
| 478 EXPECT_TRUE(entry2 == entry4); | 479 EXPECT_TRUE(entry2 == entry4); |
| 479 } | 480 } |
| 480 | 481 |
| 481 // Flaky on CrOS http://crbug.com/92292 | 482 // Flaky on CrOS http://crbug.com/92292 |
| 482 #if defined(OS_CHROMEOS) | 483 #if defined(OS_CHROMEOS) |
| 483 #define MAYBE_TestHTTPSErrorWithNoNavEntry \ | 484 #define MAYBE_TestHTTPSErrorWithNoNavEntry \ |
| 484 DISABLED_TestHTTPSErrorWithNoNavEntry | 485 DISABLED_TestHTTPSErrorWithNoNavEntry |
| 485 #else | 486 #else |
| 486 #define MAYBE_TestHTTPSErrorWithNoNavEntry TestHTTPSErrorWithNoNavEntry | 487 #define MAYBE_TestHTTPSErrorWithNoNavEntry TestHTTPSErrorWithNoNavEntry |
| 487 #endif // defined(OS_CHROMEOS) | 488 #endif // defined(OS_CHROMEOS) |
| (...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1336 | 1337 |
| 1337 // Visit a page over https that contains a frame with a redirect. | 1338 // Visit a page over https that contains a frame with a redirect. |
| 1338 | 1339 |
| 1339 // XMLHttpRequest insecure content in synchronous mode. | 1340 // XMLHttpRequest insecure content in synchronous mode. |
| 1340 | 1341 |
| 1341 // XMLHttpRequest insecure content in asynchronous mode. | 1342 // XMLHttpRequest insecure content in asynchronous mode. |
| 1342 | 1343 |
| 1343 // XMLHttpRequest over bad ssl in synchronous mode. | 1344 // XMLHttpRequest over bad ssl in synchronous mode. |
| 1344 | 1345 |
| 1345 // XMLHttpRequest over OK ssl in synchronous mode. | 1346 // XMLHttpRequest over OK ssl in synchronous mode. |
| OLD | NEW |