| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <utility> | 5 #include <utility> |
| 6 | 6 |
| 7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 } | 353 } |
| 354 | 354 |
| 355 void SetUpCommandLine(base::CommandLine* command_line) override { | 355 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 356 // Browser will both run and display insecure content. | 356 // Browser will both run and display insecure content. |
| 357 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); | 357 command_line->AppendSwitch(switches::kAllowRunningInsecureContent); |
| 358 // Use process-per-site so that navigating to a same-site page in a | 358 // Use process-per-site so that navigating to a same-site page in a |
| 359 // new tab will use the same process. | 359 // new tab will use the same process. |
| 360 command_line->AppendSwitch(switches::kProcessPerSite); | 360 command_line->AppendSwitch(switches::kProcessPerSite); |
| 361 } | 361 } |
| 362 | 362 |
| 363 void SetUpOnMainThread() override { |
| 364 host_resolver()->AddRule("*", "127.0.0.1"); |
| 365 } |
| 366 |
| 363 void CheckAuthenticatedState(WebContents* tab, | 367 void CheckAuthenticatedState(WebContents* tab, |
| 364 int expected_authentication_state) { | 368 int expected_authentication_state) { |
| 365 CheckSecurityState(tab, CertError::NONE, security_state::SECURE, | 369 CheckSecurityState(tab, CertError::NONE, security_state::SECURE, |
| 366 expected_authentication_state); | 370 expected_authentication_state); |
| 367 } | 371 } |
| 368 | 372 |
| 369 void CheckUnauthenticatedState(WebContents* tab, | 373 void CheckUnauthenticatedState(WebContents* tab, |
| 370 int expected_authentication_state) { | 374 int expected_authentication_state) { |
| 371 CheckSecurityState(tab, CertError::NONE, security_state::NONE, | 375 CheckSecurityState(tab, CertError::NONE, security_state::NONE, |
| 372 expected_authentication_state); | 376 expected_authentication_state); |
| (...skipping 1369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1742 DISABLED_TestDisplaysInsecureContentLoadedFromJS | 1746 DISABLED_TestDisplaysInsecureContentLoadedFromJS |
| 1743 #else | 1747 #else |
| 1744 #define MAYBE_TestDisplaysInsecureContentLoadedFromJS \ | 1748 #define MAYBE_TestDisplaysInsecureContentLoadedFromJS \ |
| 1745 TestDisplaysInsecureContentLoadedFromJS | 1749 TestDisplaysInsecureContentLoadedFromJS |
| 1746 #endif | 1750 #endif |
| 1747 IN_PROC_BROWSER_TEST_F(SSLUITest, | 1751 IN_PROC_BROWSER_TEST_F(SSLUITest, |
| 1748 MAYBE_TestDisplaysInsecureContentLoadedFromJS) { | 1752 MAYBE_TestDisplaysInsecureContentLoadedFromJS) { |
| 1749 ASSERT_TRUE(embedded_test_server()->Start()); | 1753 ASSERT_TRUE(embedded_test_server()->Start()); |
| 1750 ASSERT_TRUE(https_server_.Start()); | 1754 ASSERT_TRUE(https_server_.Start()); |
| 1751 | 1755 |
| 1752 host_resolver()->AddRule("example.test", | |
| 1753 https_server_.GetURL("/title1.html").host()); | |
| 1754 | |
| 1755 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair(); | 1756 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair(); |
| 1756 replacement_pair.set_host("example.test"); | 1757 replacement_pair.set_host("example.test"); |
| 1757 | 1758 |
| 1758 std::string replacement_path; | 1759 std::string replacement_path; |
| 1759 GetFilePathWithHostAndPortReplacement( | 1760 GetFilePathWithHostAndPortReplacement( |
| 1760 "/ssl/page_with_dynamic_insecure_content.html", | 1761 "/ssl/page_with_dynamic_insecure_content.html", |
| 1761 replacement_pair, &replacement_path); | 1762 replacement_pair, &replacement_path); |
| 1762 ui_test_utils::NavigateToURL(browser(), https_server_.GetURL( | 1763 ui_test_utils::NavigateToURL(browser(), https_server_.GetURL( |
| 1763 replacement_path)); | 1764 replacement_path)); |
| 1764 | 1765 |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2144 | 2145 |
| 2145 class SSLUITestWaitForDOMNotification : public SSLUITestIgnoreCertErrors, | 2146 class SSLUITestWaitForDOMNotification : public SSLUITestIgnoreCertErrors, |
| 2146 public content::NotificationObserver { | 2147 public content::NotificationObserver { |
| 2147 public: | 2148 public: |
| 2148 SSLUITestWaitForDOMNotification() | 2149 SSLUITestWaitForDOMNotification() |
| 2149 : SSLUITestIgnoreCertErrors(), run_loop_(nullptr) {} | 2150 : SSLUITestIgnoreCertErrors(), run_loop_(nullptr) {} |
| 2150 | 2151 |
| 2151 ~SSLUITestWaitForDOMNotification() override { registrar_.RemoveAll(); }; | 2152 ~SSLUITestWaitForDOMNotification() override { registrar_.RemoveAll(); }; |
| 2152 | 2153 |
| 2153 void SetUpOnMainThread() override { | 2154 void SetUpOnMainThread() override { |
| 2155 SSLUITestIgnoreCertErrors::SetUpOnMainThread(); |
| 2154 registrar_.Add(this, content::NOTIFICATION_DOM_OPERATION_RESPONSE, | 2156 registrar_.Add(this, content::NOTIFICATION_DOM_OPERATION_RESPONSE, |
| 2155 content::NotificationService::AllSources()); | 2157 content::NotificationService::AllSources()); |
| 2156 } | 2158 } |
| 2157 | 2159 |
| 2158 void set_expected_notification(const std::string& expected_notification) { | 2160 void set_expected_notification(const std::string& expected_notification) { |
| 2159 expected_notification_ = expected_notification; | 2161 expected_notification_ = expected_notification; |
| 2160 } | 2162 } |
| 2161 | 2163 |
| 2162 void set_run_loop(base::RunLoop* run_loop) { run_loop_ = run_loop; } | 2164 void set_run_loop(base::RunLoop* run_loop) { run_loop_ = run_loop; } |
| 2163 | 2165 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 2182 DISALLOW_COPY_AND_ASSIGN(SSLUITestWaitForDOMNotification); | 2184 DISALLOW_COPY_AND_ASSIGN(SSLUITestWaitForDOMNotification); |
| 2183 }; | 2185 }; |
| 2184 | 2186 |
| 2185 // Tests that a mixed resource which includes HTTP in the redirect chain | 2187 // Tests that a mixed resource which includes HTTP in the redirect chain |
| 2186 // is marked as mixed content, even if the end result is HTTPS. | 2188 // is marked as mixed content, even if the end result is HTTPS. |
| 2187 IN_PROC_BROWSER_TEST_F(SSLUITestWaitForDOMNotification, | 2189 IN_PROC_BROWSER_TEST_F(SSLUITestWaitForDOMNotification, |
| 2188 TestMixedContentWithHTTPInRedirectChain) { | 2190 TestMixedContentWithHTTPInRedirectChain) { |
| 2189 ASSERT_TRUE(embedded_test_server()->Start()); | 2191 ASSERT_TRUE(embedded_test_server()->Start()); |
| 2190 ASSERT_TRUE(https_server_.Start()); | 2192 ASSERT_TRUE(https_server_.Start()); |
| 2191 | 2193 |
| 2192 host_resolver()->AddRule("*", embedded_test_server()->GetURL("/").host()); | |
| 2193 | |
| 2194 ui_test_utils::NavigateToURL(browser(), | 2194 ui_test_utils::NavigateToURL(browser(), |
| 2195 https_server_.GetURL("/ssl/blank_page.html")); | 2195 https_server_.GetURL("/ssl/blank_page.html")); |
| 2196 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 2196 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| 2197 CheckAuthenticatedState(tab, AuthState::NONE); | 2197 CheckAuthenticatedState(tab, AuthState::NONE); |
| 2198 | 2198 |
| 2199 // Construct a URL which will be dynamically added to the page as an | 2199 // Construct a URL which will be dynamically added to the page as an |
| 2200 // image. The URL redirects through HTTP, though it ends up at an | 2200 // image. The URL redirects through HTTP, though it ends up at an |
| 2201 // HTTPS resource. | 2201 // HTTPS resource. |
| 2202 GURL http_url = embedded_test_server()->GetURL("/server-redirect?"); | 2202 GURL http_url = embedded_test_server()->GetURL("/server-redirect?"); |
| 2203 GURL::Replacements http_url_replacements; | 2203 GURL::Replacements http_url_replacements; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2263 // From a good HTTPS top frame: | 2263 // From a good HTTPS top frame: |
| 2264 // - navigate to an OK HTTPS frame | 2264 // - navigate to an OK HTTPS frame |
| 2265 // - navigate to a bad HTTPS (expect unsafe content and filtered frame), then | 2265 // - navigate to a bad HTTPS (expect unsafe content and filtered frame), then |
| 2266 // back | 2266 // back |
| 2267 // - navigate to HTTP (expect insecure content), then back | 2267 // - navigate to HTTP (expect insecure content), then back |
| 2268 IN_PROC_BROWSER_TEST_F(SSLUITest, TestGoodFrameNavigation) { | 2268 IN_PROC_BROWSER_TEST_F(SSLUITest, TestGoodFrameNavigation) { |
| 2269 ASSERT_TRUE(embedded_test_server()->Start()); | 2269 ASSERT_TRUE(embedded_test_server()->Start()); |
| 2270 ASSERT_TRUE(https_server_.Start()); | 2270 ASSERT_TRUE(https_server_.Start()); |
| 2271 ASSERT_TRUE(https_server_expired_.Start()); | 2271 ASSERT_TRUE(https_server_expired_.Start()); |
| 2272 | 2272 |
| 2273 // Make sure to add this hostname to the resolver so that it's not blocked | 2273 // SetUpOnMainThread adds this hostname to the resolver so that it's not |
| 2274 // (browser_test_base.cc has a resolver that blocks all non-local hostnames | 2274 // blocked (browser_test_base.cc has a resolver that blocks all non-local |
| 2275 // by default to ensure tests don't hit the network). This is critical to do | 2275 // hostnames by default to ensure tests don't hit the network). This is |
| 2276 // because for PlzNavigate the request would otherwise get cancelled in the | 2276 // critical to do because for PlzNavigate the request would otherwise get |
| 2277 // browser before the renderer sees it. | 2277 // cancelled in the browser before the renderer sees it. |
| 2278 host_resolver()->AddRule( | |
| 2279 "example.test", | |
| 2280 embedded_test_server()->GetURL("/title1.html").host()); | |
| 2281 | 2278 |
| 2282 std::string top_frame_path; | 2279 std::string top_frame_path; |
| 2283 GetTopFramePath(*embedded_test_server(), https_server_, https_server_expired_, | 2280 GetTopFramePath(*embedded_test_server(), https_server_, https_server_expired_, |
| 2284 &top_frame_path); | 2281 &top_frame_path); |
| 2285 | 2282 |
| 2286 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 2283 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| 2287 ui_test_utils::NavigateToURL(browser(), | 2284 ui_test_utils::NavigateToURL(browser(), |
| 2288 https_server_.GetURL(top_frame_path)); | 2285 https_server_.GetURL(top_frame_path)); |
| 2289 | 2286 |
| 2290 CheckAuthenticatedState(tab, AuthState::NONE); | 2287 CheckAuthenticatedState(tab, AuthState::NONE); |
| (...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3080 "<SSLNetworkTimeBrowserTestFieldTrial"); | 3077 "<SSLNetworkTimeBrowserTestFieldTrial"); |
| 3081 command_line->AppendSwitchASCII( | 3078 command_line->AppendSwitchASCII( |
| 3082 switches::kForceFieldTrials, | 3079 switches::kForceFieldTrials, |
| 3083 "SSLNetworkTimeBrowserTestFieldTrial/Enabled/"); | 3080 "SSLNetworkTimeBrowserTestFieldTrial/Enabled/"); |
| 3084 command_line->AppendSwitchASCII( | 3081 command_line->AppendSwitchASCII( |
| 3085 variations::switches::kForceFieldTrialParams, | 3082 variations::switches::kForceFieldTrialParams, |
| 3086 "SSLNetworkTimeBrowserTestFieldTrial.Enabled:FetchBehavior/" | 3083 "SSLNetworkTimeBrowserTestFieldTrial.Enabled:FetchBehavior/" |
| 3087 "on-demand-only"); | 3084 "on-demand-only"); |
| 3088 } | 3085 } |
| 3089 | 3086 |
| 3090 void SetUpOnMainThread() override { SetUpNetworkTimeServer(); } | 3087 void SetUpOnMainThread() override { |
| 3088 SSLUITest::SetUpOnMainThread(); |
| 3089 SetUpNetworkTimeServer(); |
| 3090 } |
| 3091 | 3091 |
| 3092 void TearDownOnMainThread() override { | 3092 void TearDownOnMainThread() override { |
| 3093 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, | 3093 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, |
| 3094 base::Bind(&CleanUpOnIOThread)); | 3094 base::Bind(&CleanUpOnIOThread)); |
| 3095 } | 3095 } |
| 3096 | 3096 |
| 3097 protected: | 3097 protected: |
| 3098 void SetUpNetworkTimeServer() { | 3098 void SetUpNetworkTimeServer() { |
| 3099 // Install the URL interceptor that serves delayed network time responses. | 3099 // Install the URL interceptor that serves delayed network time responses. |
| 3100 interceptor_ = new DelayedNetworkTimeInterceptor(); | 3100 interceptor_ = new DelayedNetworkTimeInterceptor(); |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3398 class CommonNameMismatchBrowserTest : public CertVerifierBrowserTest { | 3398 class CommonNameMismatchBrowserTest : public CertVerifierBrowserTest { |
| 3399 public: | 3399 public: |
| 3400 CommonNameMismatchBrowserTest() : CertVerifierBrowserTest() {} | 3400 CommonNameMismatchBrowserTest() : CertVerifierBrowserTest() {} |
| 3401 ~CommonNameMismatchBrowserTest() override {} | 3401 ~CommonNameMismatchBrowserTest() override {} |
| 3402 | 3402 |
| 3403 void SetUpCommandLine(base::CommandLine* command_line) override { | 3403 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 3404 // Enable finch experiment for SSL common name mismatch handling. | 3404 // Enable finch experiment for SSL common name mismatch handling. |
| 3405 command_line->AppendSwitchASCII(switches::kForceFieldTrials, | 3405 command_line->AppendSwitchASCII(switches::kForceFieldTrials, |
| 3406 "SSLCommonNameMismatchHandling/Enabled/"); | 3406 "SSLCommonNameMismatchHandling/Enabled/"); |
| 3407 } | 3407 } |
| 3408 |
| 3409 void SetUpOnMainThread() override { |
| 3410 CertVerifierBrowserTest::SetUpOnMainThread(); |
| 3411 host_resolver()->AddRule("*", "127.0.0.1"); |
| 3412 } |
| 3408 }; | 3413 }; |
| 3409 | 3414 |
| 3410 // Visit the URL www.mail.example.com on a server that presents a valid | 3415 // Visit the URL www.mail.example.com on a server that presents a valid |
| 3411 // certificate for mail.example.com. Verify that the page navigates to | 3416 // certificate for mail.example.com. Verify that the page navigates to |
| 3412 // mail.example.com. | 3417 // mail.example.com. |
| 3413 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, | 3418 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, |
| 3414 ShouldShowWWWSubdomainMismatchInterstitial) { | 3419 ShouldShowWWWSubdomainMismatchInterstitial) { |
| 3415 net::EmbeddedTestServer https_server_example_domain_( | 3420 net::EmbeddedTestServer https_server_example_domain_( |
| 3416 net::EmbeddedTestServer::TYPE_HTTPS); | 3421 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3417 https_server_example_domain_.ServeFilesFromSourceDirectory( | 3422 https_server_example_domain_.ServeFilesFromSourceDirectory( |
| 3418 base::FilePath(kDocRoot)); | 3423 base::FilePath(kDocRoot)); |
| 3419 ASSERT_TRUE(https_server_example_domain_.Start()); | 3424 ASSERT_TRUE(https_server_example_domain_.Start()); |
| 3420 | 3425 |
| 3421 host_resolver()->AddRule( | |
| 3422 "mail.example.com", https_server_example_domain_.host_port_pair().host()); | |
| 3423 host_resolver()->AddRule( | |
| 3424 "www.mail.example.com", | |
| 3425 https_server_example_domain_.host_port_pair().host()); | |
| 3426 | |
| 3427 scoped_refptr<net::X509Certificate> cert = | 3426 scoped_refptr<net::X509Certificate> cert = |
| 3428 https_server_example_domain_.GetCertificate(); | 3427 https_server_example_domain_.GetCertificate(); |
| 3429 | 3428 |
| 3430 // Use the "spdy_pooling.pem" cert which has "mail.example.com" | 3429 // Use the "spdy_pooling.pem" cert which has "mail.example.com" |
| 3431 // as one of its SANs. | 3430 // as one of its SANs. |
| 3432 net::CertVerifyResult verify_result; | 3431 net::CertVerifyResult verify_result; |
| 3433 verify_result.verified_cert = | 3432 verify_result.verified_cert = |
| 3434 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); | 3433 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 3435 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; | 3434 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; |
| 3436 | 3435 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3477 // Visit the URL example.org on a server that presents a valid certificate | 3476 // Visit the URL example.org on a server that presents a valid certificate |
| 3478 // for www.example.org. Verify that the page redirects to www.example.org. | 3477 // for www.example.org. Verify that the page redirects to www.example.org. |
| 3479 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, | 3478 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, |
| 3480 CheckWWWSubdomainMismatchInverse) { | 3479 CheckWWWSubdomainMismatchInverse) { |
| 3481 net::EmbeddedTestServer https_server_example_domain_( | 3480 net::EmbeddedTestServer https_server_example_domain_( |
| 3482 net::EmbeddedTestServer::TYPE_HTTPS); | 3481 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3483 https_server_example_domain_.ServeFilesFromSourceDirectory( | 3482 https_server_example_domain_.ServeFilesFromSourceDirectory( |
| 3484 base::FilePath(kDocRoot)); | 3483 base::FilePath(kDocRoot)); |
| 3485 ASSERT_TRUE(https_server_example_domain_.Start()); | 3484 ASSERT_TRUE(https_server_example_domain_.Start()); |
| 3486 | 3485 |
| 3487 host_resolver()->AddRule( | |
| 3488 "www.example.org", https_server_example_domain_.host_port_pair().host()); | |
| 3489 host_resolver()->AddRule( | |
| 3490 "example.org", https_server_example_domain_.host_port_pair().host()); | |
| 3491 | |
| 3492 scoped_refptr<net::X509Certificate> cert = | 3486 scoped_refptr<net::X509Certificate> cert = |
| 3493 https_server_example_domain_.GetCertificate(); | 3487 https_server_example_domain_.GetCertificate(); |
| 3494 | 3488 |
| 3495 net::CertVerifyResult verify_result; | 3489 net::CertVerifyResult verify_result; |
| 3496 verify_result.verified_cert = | 3490 verify_result.verified_cert = |
| 3497 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); | 3491 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 3498 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; | 3492 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; |
| 3499 | 3493 |
| 3500 mock_cert_verifier()->AddResultForCertAndHost( | 3494 mock_cert_verifier()->AddResultForCertAndHost( |
| 3501 cert.get(), "example.org", verify_result, | 3495 cert.get(), "example.org", verify_result, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3536 // indefinitely (also because the timer has a long timeout). | 3530 // indefinitely (also because the timer has a long timeout). |
| 3537 // - Stopping the page load shouldn't result in any interstitials. | 3531 // - Stopping the page load shouldn't result in any interstitials. |
| 3538 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, | 3532 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, |
| 3539 InterstitialStopNavigationWhileLoading) { | 3533 InterstitialStopNavigationWhileLoading) { |
| 3540 net::EmbeddedTestServer https_server_example_domain_( | 3534 net::EmbeddedTestServer https_server_example_domain_( |
| 3541 net::EmbeddedTestServer::TYPE_HTTPS); | 3535 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3542 https_server_example_domain_.ServeFilesFromSourceDirectory( | 3536 https_server_example_domain_.ServeFilesFromSourceDirectory( |
| 3543 base::FilePath(kDocRoot)); | 3537 base::FilePath(kDocRoot)); |
| 3544 ASSERT_TRUE(https_server_example_domain_.Start()); | 3538 ASSERT_TRUE(https_server_example_domain_.Start()); |
| 3545 | 3539 |
| 3546 host_resolver()->AddRule( | |
| 3547 "mail.example.com", https_server_example_domain_.host_port_pair().host()); | |
| 3548 host_resolver()->AddRule( | |
| 3549 "www.mail.example.com", | |
| 3550 https_server_example_domain_.host_port_pair().host()); | |
| 3551 | |
| 3552 scoped_refptr<net::X509Certificate> cert = | 3540 scoped_refptr<net::X509Certificate> cert = |
| 3553 https_server_example_domain_.GetCertificate(); | 3541 https_server_example_domain_.GetCertificate(); |
| 3554 | 3542 |
| 3555 net::CertVerifyResult verify_result; | 3543 net::CertVerifyResult verify_result; |
| 3556 verify_result.verified_cert = | 3544 verify_result.verified_cert = |
| 3557 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); | 3545 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 3558 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; | 3546 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; |
| 3559 | 3547 |
| 3560 mock_cert_verifier()->AddResultForCertAndHost( | 3548 mock_cert_verifier()->AddResultForCertAndHost( |
| 3561 cert.get(), "www.mail.example.com", verify_result, | 3549 cert.get(), "www.mail.example.com", verify_result, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3605 // Same as above, but instead of stopping, the loading page is reloaded. The end | 3593 // Same as above, but instead of stopping, the loading page is reloaded. The end |
| 3606 // result is the same. (i.e. page load stops, no interstitials shown) | 3594 // result is the same. (i.e. page load stops, no interstitials shown) |
| 3607 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, | 3595 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, |
| 3608 InterstitialReloadNavigationWhileLoading) { | 3596 InterstitialReloadNavigationWhileLoading) { |
| 3609 net::EmbeddedTestServer https_server_example_domain_( | 3597 net::EmbeddedTestServer https_server_example_domain_( |
| 3610 net::EmbeddedTestServer::TYPE_HTTPS); | 3598 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3611 https_server_example_domain_.ServeFilesFromSourceDirectory( | 3599 https_server_example_domain_.ServeFilesFromSourceDirectory( |
| 3612 base::FilePath(kDocRoot)); | 3600 base::FilePath(kDocRoot)); |
| 3613 ASSERT_TRUE(https_server_example_domain_.Start()); | 3601 ASSERT_TRUE(https_server_example_domain_.Start()); |
| 3614 | 3602 |
| 3615 host_resolver()->AddRule( | |
| 3616 "mail.example.com", https_server_example_domain_.host_port_pair().host()); | |
| 3617 host_resolver()->AddRule( | |
| 3618 "www.mail.example.com", | |
| 3619 https_server_example_domain_.host_port_pair().host()); | |
| 3620 | |
| 3621 scoped_refptr<net::X509Certificate> cert = | 3603 scoped_refptr<net::X509Certificate> cert = |
| 3622 https_server_example_domain_.GetCertificate(); | 3604 https_server_example_domain_.GetCertificate(); |
| 3623 | 3605 |
| 3624 net::CertVerifyResult verify_result; | 3606 net::CertVerifyResult verify_result; |
| 3625 verify_result.verified_cert = | 3607 verify_result.verified_cert = |
| 3626 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); | 3608 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 3627 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; | 3609 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; |
| 3628 | 3610 |
| 3629 mock_cert_verifier()->AddResultForCertAndHost( | 3611 mock_cert_verifier()->AddResultForCertAndHost( |
| 3630 cert.get(), "www.mail.example.com", verify_result, | 3612 cert.get(), "www.mail.example.com", verify_result, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3672 // Same as above, but instead of reloading, the page is navigated away. The | 3654 // Same as above, but instead of reloading, the page is navigated away. The |
| 3673 // new page should load, and no interstitials should be shown. | 3655 // new page should load, and no interstitials should be shown. |
| 3674 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, | 3656 IN_PROC_BROWSER_TEST_F(CommonNameMismatchBrowserTest, |
| 3675 InterstitialNavigateAwayWhileLoading) { | 3657 InterstitialNavigateAwayWhileLoading) { |
| 3676 net::EmbeddedTestServer https_server_example_domain_( | 3658 net::EmbeddedTestServer https_server_example_domain_( |
| 3677 net::EmbeddedTestServer::TYPE_HTTPS); | 3659 net::EmbeddedTestServer::TYPE_HTTPS); |
| 3678 https_server_example_domain_.ServeFilesFromSourceDirectory( | 3660 https_server_example_domain_.ServeFilesFromSourceDirectory( |
| 3679 base::FilePath(kDocRoot)); | 3661 base::FilePath(kDocRoot)); |
| 3680 ASSERT_TRUE(https_server_example_domain_.Start()); | 3662 ASSERT_TRUE(https_server_example_domain_.Start()); |
| 3681 | 3663 |
| 3682 host_resolver()->AddRule( | |
| 3683 "mail.example.com", https_server_example_domain_.host_port_pair().host()); | |
| 3684 host_resolver()->AddRule( | |
| 3685 "www.mail.example.com", | |
| 3686 https_server_example_domain_.host_port_pair().host()); | |
| 3687 | |
| 3688 scoped_refptr<net::X509Certificate> cert = | 3664 scoped_refptr<net::X509Certificate> cert = |
| 3689 https_server_example_domain_.GetCertificate(); | 3665 https_server_example_domain_.GetCertificate(); |
| 3690 | 3666 |
| 3691 net::CertVerifyResult verify_result; | 3667 net::CertVerifyResult verify_result; |
| 3692 verify_result.verified_cert = | 3668 verify_result.verified_cert = |
| 3693 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); | 3669 net::ImportCertFromFile(net::GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 3694 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; | 3670 verify_result.cert_status = net::CERT_STATUS_COMMON_NAME_INVALID; |
| 3695 | 3671 |
| 3696 mock_cert_verifier()->AddResultForCertAndHost( | 3672 mock_cert_verifier()->AddResultForCertAndHost( |
| 3697 cert.get(), "www.mail.example.com", verify_result, | 3673 cert.get(), "www.mail.example.com", verify_result, |
| (...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4451 | 4427 |
| 4452 // Visit a page over https that contains a frame with a redirect. | 4428 // Visit a page over https that contains a frame with a redirect. |
| 4453 | 4429 |
| 4454 // XMLHttpRequest insecure content in synchronous mode. | 4430 // XMLHttpRequest insecure content in synchronous mode. |
| 4455 | 4431 |
| 4456 // XMLHttpRequest insecure content in asynchronous mode. | 4432 // XMLHttpRequest insecure content in asynchronous mode. |
| 4457 | 4433 |
| 4458 // XMLHttpRequest over bad ssl in synchronous mode. | 4434 // XMLHttpRequest over bad ssl in synchronous mode. |
| 4459 | 4435 |
| 4460 // XMLHttpRequest over OK ssl in synchronous mode. | 4436 // XMLHttpRequest over OK ssl in synchronous mode. |
| OLD | NEW |