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/bind.h" | 5 #include "base/bind.h" |
6 #include "base/string_number_conversions.h" | 6 #include "base/string_number_conversions.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
9 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 9 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
10 #include "chrome/test/base/in_process_browser_test.h" | 10 #include "chrome/test/base/in_process_browser_test.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 ExpectedReferrerIsFull, | 40 ExpectedReferrerIsFull, |
41 ExpectedReferrerIsOrigin | 41 ExpectedReferrerIsOrigin |
42 }; | 42 }; |
43 | 43 |
44 // Navigates from a page with a given |referrer_policy| (optionally on https) | 44 // Navigates from a page with a given |referrer_policy| (optionally on https) |
45 // to a page on http that reports the passed referrer and checks that it | 45 // to a page on http that reports the passed referrer and checks that it |
46 // matches the |expected_referrer|. | 46 // matches the |expected_referrer|. |
47 void RunReferrerTest(const std::string referrer_policy, | 47 void RunReferrerTest(const std::string referrer_policy, |
48 bool start_on_https, | 48 bool start_on_https, |
49 ExpectedReferrer expected_referrer) { | 49 ExpectedReferrer expected_referrer) { |
50 net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)); | 50 net::TestServer test_server(net::TestServer::TYPE_HTTP, |
| 51 net::TestServer::kLocalhost, |
| 52 FilePath(kDocRoot)); |
51 ASSERT_TRUE(test_server.Start()); | 53 ASSERT_TRUE(test_server.Start()); |
52 net::TestServer ssl_test_server(net::TestServer::TYPE_HTTPS, | 54 net::TestServer ssl_test_server(net::TestServer::TYPE_HTTPS, |
| 55 net::TestServer::kLocalhost, |
53 FilePath(kDocRoot)); | 56 FilePath(kDocRoot)); |
54 ASSERT_TRUE(ssl_test_server.Start()); | 57 ASSERT_TRUE(ssl_test_server.Start()); |
55 | 58 |
56 GURL start_url = test_server.GetURL( | 59 GURL start_url = test_server.GetURL( |
57 std::string("files/referrer-policy-start.html?") + referrer_policy + | 60 std::string("files/referrer-policy-start.html?") + referrer_policy + |
58 "&port=" + base::IntToString(test_server.host_port_pair().port())); | 61 "&port=" + base::IntToString(test_server.host_port_pair().port())); |
59 if (start_on_https) { | 62 if (start_on_https) { |
60 start_url = ssl_test_server.GetURL( | 63 start_url = ssl_test_server.GetURL( |
61 std::string("files/referrer-policy-start.html?") + referrer_policy + | 64 std::string("files/referrer-policy-start.html?") + referrer_policy + |
62 "&port=" + base::IntToString(test_server.host_port_pair().port())); | 65 "&port=" + base::IntToString(test_server.host_port_pair().port())); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 | 108 |
106 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsOrigin) { | 109 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsOrigin) { |
107 RunReferrerTest("origin", true, ExpectedReferrerIsOrigin); | 110 RunReferrerTest("origin", true, ExpectedReferrerIsOrigin); |
108 } | 111 } |
109 | 112 |
110 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsNever) { | 113 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsNever) { |
111 RunReferrerTest("never", true, ExpectedReferrerIsEmpty); | 114 RunReferrerTest("never", true, ExpectedReferrerIsEmpty); |
112 } | 115 } |
113 | 116 |
114 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) { | 117 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) { |
115 net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)); | 118 net::TestServer test_server(net::TestServer::TYPE_HTTP, |
| 119 net::TestServer::kLocalhost, |
| 120 FilePath(kDocRoot)); |
116 ASSERT_TRUE(test_server.Start()); | 121 ASSERT_TRUE(test_server.Start()); |
117 net::TestServer ssl_test_server(net::TestServer::TYPE_HTTPS, | 122 net::TestServer ssl_test_server(net::TestServer::TYPE_HTTPS, |
| 123 net::TestServer::kLocalhost, |
118 FilePath(kDocRoot)); | 124 FilePath(kDocRoot)); |
119 ASSERT_TRUE(ssl_test_server.Start()); | 125 ASSERT_TRUE(ssl_test_server.Start()); |
120 GURL start_url = test_server.GetURL( | 126 GURL start_url = test_server.GetURL( |
121 std::string("files/referrer-policy-redirect.html?") + | 127 std::string("files/referrer-policy-redirect.html?") + |
122 "ssl_port=" + base::IntToString(ssl_test_server.host_port_pair().port()) + | 128 "ssl_port=" + base::IntToString(ssl_test_server.host_port_pair().port()) + |
123 "&port=" + base::IntToString(test_server.host_port_pair().port())); | 129 "&port=" + base::IntToString(test_server.host_port_pair().port())); |
124 std::string referrer = "Referrer is " + start_url.GetWithEmptyPath().spec(); | 130 std::string referrer = "Referrer is " + start_url.GetWithEmptyPath().spec(); |
125 NavigateToURLAndWaitForTitle(start_url, referrer, 2); | 131 NavigateToURLAndWaitForTitle(start_url, referrer, 2); |
126 } | 132 } |
OLD | NEW |