| 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 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 // The "frame_left.html" page contained in the top_frame.html page contains | 407 // The "frame_left.html" page contained in the top_frame.html page contains |
| 408 // <a href>'s to three different servers. This sets up all of the | 408 // <a href>'s to three different servers. This sets up all of the |
| 409 // replacement text to work with test servers which listen on ephemeral | 409 // replacement text to work with test servers which listen on ephemeral |
| 410 // ports. | 410 // ports. |
| 411 GURL http_url = http_server.GetURL("/ssl/google.html"); | 411 GURL http_url = http_server.GetURL("/ssl/google.html"); |
| 412 GURL good_https_url = good_https_server.GetURL("/ssl/google.html"); | 412 GURL good_https_url = good_https_server.GetURL("/ssl/google.html"); |
| 413 GURL bad_https_url = bad_https_server.GetURL("/ssl/bad_iframe.html"); | 413 GURL bad_https_url = bad_https_server.GetURL("/ssl/bad_iframe.html"); |
| 414 | 414 |
| 415 base::StringPairs replacement_text_frame_left; | 415 base::StringPairs replacement_text_frame_left; |
| 416 replacement_text_frame_left.push_back( | 416 replacement_text_frame_left.push_back( |
| 417 make_pair("REPLACE_WITH_HTTP_PAGE", http_url.spec())); | 417 make_pair("REPLACE_WITH_HTTP_PORT", http_url.port())); |
| 418 replacement_text_frame_left.push_back( | 418 replacement_text_frame_left.push_back( |
| 419 make_pair("REPLACE_WITH_GOOD_HTTPS_PAGE", good_https_url.spec())); | 419 make_pair("REPLACE_WITH_GOOD_HTTPS_PAGE", good_https_url.spec())); |
| 420 replacement_text_frame_left.push_back( | 420 replacement_text_frame_left.push_back( |
| 421 make_pair("REPLACE_WITH_BAD_HTTPS_PAGE", bad_https_url.spec())); | 421 make_pair("REPLACE_WITH_BAD_HTTPS_PAGE", bad_https_url.spec())); |
| 422 std::string frame_left_path; | 422 std::string frame_left_path; |
| 423 net::test_server::GetFilePathWithReplacements( | 423 net::test_server::GetFilePathWithReplacements( |
| 424 "frame_left.html", replacement_text_frame_left, &frame_left_path); | 424 "frame_left.html", replacement_text_frame_left, &frame_left_path); |
| 425 | 425 |
| 426 // Substitute the generated frame_left URL into the top_frame page. | 426 // Substitute the generated frame_left URL into the top_frame page. |
| 427 base::StringPairs replacement_text_top_frame; | 427 base::StringPairs replacement_text_top_frame; |
| (...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1610 DISABLED_TestDisplaysInsecureContentLoadedFromJS | 1610 DISABLED_TestDisplaysInsecureContentLoadedFromJS |
| 1611 #else | 1611 #else |
| 1612 #define MAYBE_TestDisplaysInsecureContentLoadedFromJS \ | 1612 #define MAYBE_TestDisplaysInsecureContentLoadedFromJS \ |
| 1613 TestDisplaysInsecureContentLoadedFromJS | 1613 TestDisplaysInsecureContentLoadedFromJS |
| 1614 #endif | 1614 #endif |
| 1615 IN_PROC_BROWSER_TEST_F(SSLUITest, | 1615 IN_PROC_BROWSER_TEST_F(SSLUITest, |
| 1616 MAYBE_TestDisplaysInsecureContentLoadedFromJS) { | 1616 MAYBE_TestDisplaysInsecureContentLoadedFromJS) { |
| 1617 ASSERT_TRUE(embedded_test_server()->Start()); | 1617 ASSERT_TRUE(embedded_test_server()->Start()); |
| 1618 ASSERT_TRUE(https_server_.Start()); | 1618 ASSERT_TRUE(https_server_.Start()); |
| 1619 | 1619 |
| 1620 host_resolver()->AddRule("example.test", |
| 1621 https_server_.GetURL("/").host()); |
| 1622 |
| 1623 net::HostPortPair replacement_pair = embedded_test_server()->host_port_pair(); |
| 1624 replacement_pair.set_host("example.test"); |
| 1625 |
| 1620 std::string replacement_path; | 1626 std::string replacement_path; |
| 1621 GetFilePathWithHostAndPortReplacement( | 1627 GetFilePathWithHostAndPortReplacement( |
| 1622 "/ssl/page_with_dynamic_insecure_content.html", | 1628 "/ssl/page_with_dynamic_insecure_content.html", |
| 1623 embedded_test_server()->host_port_pair(), &replacement_path); | 1629 replacement_pair, &replacement_path); |
| 1624 ui_test_utils::NavigateToURL(browser(), https_server_.GetURL( | 1630 ui_test_utils::NavigateToURL(browser(), https_server_.GetURL( |
| 1625 replacement_path)); | 1631 replacement_path)); |
| 1626 | 1632 |
| 1627 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 1633 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| 1628 CheckAuthenticatedState(tab, AuthState::NONE); | 1634 CheckAuthenticatedState(tab, AuthState::NONE); |
| 1629 | 1635 |
| 1630 // Load the insecure image. | 1636 // Load the insecure image. |
| 1631 bool js_result = false; | 1637 bool js_result = false; |
| 1632 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( | 1638 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( |
| 1633 tab, | 1639 tab, |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2112 "window.domAutomationController.send(clickLink('HTTPLink'));", | 2118 "window.domAutomationController.send(clickLink('HTTPLink'));", |
| 2113 &success)); | 2119 &success)); |
| 2114 ASSERT_TRUE(success); | 2120 ASSERT_TRUE(success); |
| 2115 observer.Wait(); | 2121 observer.Wait(); |
| 2116 } | 2122 } |
| 2117 | 2123 |
| 2118 // Our state should be unathenticated (in the ran mixed script sense) | 2124 // Our state should be unathenticated (in the ran mixed script sense) |
| 2119 CheckAuthenticationBrokenState( | 2125 CheckAuthenticationBrokenState( |
| 2120 tab, | 2126 tab, |
| 2121 CertError::NONE, | 2127 CertError::NONE, |
| 2122 AuthState::DISPLAYED_INSECURE_CONTENT | AuthState::RAN_INSECURE_CONTENT); | 2128 AuthState::RAN_INSECURE_CONTENT); |
| 2123 | 2129 |
| 2124 // Go back, our state should be unchanged. | 2130 // Go back, our state should be unchanged. |
| 2125 { | 2131 { |
| 2126 content::WindowedNotificationObserver observer( | 2132 content::WindowedNotificationObserver observer( |
| 2127 content::NOTIFICATION_LOAD_STOP, | 2133 content::NOTIFICATION_LOAD_STOP, |
| 2128 content::Source<NavigationController>(&tab->GetController())); | 2134 content::Source<NavigationController>(&tab->GetController())); |
| 2129 tab->GetController().GoBack(); | 2135 tab->GetController().GoBack(); |
| 2130 observer.Wait(); | 2136 observer.Wait(); |
| 2131 } | 2137 } |
| 2132 | 2138 |
| 2133 CheckAuthenticationBrokenState( | 2139 CheckAuthenticationBrokenState( |
| 2134 tab, | 2140 tab, |
| 2135 CertError::NONE, | 2141 CertError::NONE, |
| 2136 AuthState::DISPLAYED_INSECURE_CONTENT | AuthState::RAN_INSECURE_CONTENT); | 2142 AuthState::RAN_INSECURE_CONTENT); |
| 2137 } | 2143 } |
| 2138 | 2144 |
| 2139 // From a bad HTTPS top frame: | 2145 // From a bad HTTPS top frame: |
| 2140 // - navigate to an OK HTTPS frame (expected to be still authentication broken). | 2146 // - navigate to an OK HTTPS frame (expected to be still authentication broken). |
| 2141 IN_PROC_BROWSER_TEST_F(SSLUITest, TestBadFrameNavigation) { | 2147 IN_PROC_BROWSER_TEST_F(SSLUITest, TestBadFrameNavigation) { |
| 2142 ASSERT_TRUE(embedded_test_server()->Start()); | 2148 ASSERT_TRUE(embedded_test_server()->Start()); |
| 2143 ASSERT_TRUE(https_server_.Start()); | 2149 ASSERT_TRUE(https_server_.Start()); |
| 2144 ASSERT_TRUE(https_server_expired_.Start()); | 2150 ASSERT_TRUE(https_server_expired_.Start()); |
| 2145 | 2151 |
| 2146 std::string top_frame_path; | 2152 std::string top_frame_path; |
| (...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3016 | 3022 |
| 3017 // Visit a page over https that contains a frame with a redirect. | 3023 // Visit a page over https that contains a frame with a redirect. |
| 3018 | 3024 |
| 3019 // XMLHttpRequest insecure content in synchronous mode. | 3025 // XMLHttpRequest insecure content in synchronous mode. |
| 3020 | 3026 |
| 3021 // XMLHttpRequest insecure content in asynchronous mode. | 3027 // XMLHttpRequest insecure content in asynchronous mode. |
| 3022 | 3028 |
| 3023 // XMLHttpRequest over bad ssl in synchronous mode. | 3029 // XMLHttpRequest over bad ssl in synchronous mode. |
| 3024 | 3030 |
| 3025 // XMLHttpRequest over OK ssl in synchronous mode. | 3031 // XMLHttpRequest over OK ssl in synchronous mode. |
| OLD | NEW |