Chromium Code Reviews| Index: chrome/browser/ssl/ssl_browser_tests.cc |
| diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc |
| index bcf8cf123c4db3449f87c32ae54814fd4562e198..a995e9178c21972a38c755aef5cd00215f4c70b2 100644 |
| --- a/chrome/browser/ssl/ssl_browser_tests.cc |
| +++ b/chrome/browser/ssl/ssl_browser_tests.cc |
| @@ -1076,6 +1076,43 @@ IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestRunsCachedInsecureContent) { |
| CheckAuthenticationBrokenState(tab, 0, true, false); |
| } |
| +IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInlineUsingInvalidCertificate) { |
| + ASSERT_TRUE(https_server_mismatched_.Start()); |
| + ASSERT_TRUE(https_server_.Start()); |
| + |
| + // Load the image using insecure server. |
| + GURL url(https_server_mismatched_.GetURL("files/ssl/google_files/logo.gif")); |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + |
| + WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| + CheckAuthenticationBrokenState( |
| + tab, net::CERT_STATUS_COMMON_NAME_INVALID, false, true); |
| + ProceedThroughInterstitial(tab); |
| + CheckAuthenticationBrokenState( |
| + tab, net::CERT_STATUS_COMMON_NAME_INVALID, false, false); |
| + |
| + // Load the webpage using secure server. |
| + std::string replacement_path; |
| + ASSERT_TRUE(GetFilePathWithHostAndPortReplacement( |
| + "files/ssl/page_with_dynamic_insecure_content.html", |
| + https_server_mismatched_.host_port_pair(), |
| + &replacement_path)); |
| + ui_test_utils::NavigateToURL(browser(), |
| + https_server_.GetURL(replacement_path)); |
| + CheckAuthenticatedState(tab, false); |
| + EXPECT_FALSE(tab->DisplayedInsecureContent()); |
| + |
| + // Load the inline image using insecure server. |
| + bool js_result = false; |
| + EXPECT_TRUE(content::ExecuteScriptAndExtractBool( |
| + tab, "loadBadImage('https');", &js_result)); |
| + EXPECT_TRUE(js_result); |
| + |
| + // Page security should be downgraded. |
| + CheckAuthenticatedState(tab, true); |
| + EXPECT_TRUE(tab->DisplayedInsecureContent()); |
| +} |
|
Ryan Sleevi
2014/03/11 01:39:39
Can you add an additional test to test for 'intran
|
| + |
| // This test ensures the CN invalid status does not 'stick' to a certificate |
| // (see bug #1044942) and that it depends on the host-name. |
| IN_PROC_BROWSER_TEST_F(SSLUITest, TestCNInvalidStickiness) { |