Index: net/url_request/url_request_unittest.cc |
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc |
index ea3a9d4476760493469bc55b842e01b8fcfc6e79..7b05caa6d5764617b8cc8e5c0c0d9660bd336fe4 100644 |
--- a/net/url_request/url_request_unittest.cc |
+++ b/net/url_request/url_request_unittest.cc |
@@ -8853,141 +8853,197 @@ class URLRequestTestReferrerPolicy : public URLRequestTest { |
TEST_F(URLRequestTestReferrerPolicy, HTTPToSameOriginHTTP) { |
InstantiateSameOriginServers(net::EmbeddedTestServer::TYPE_HTTP); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, referrer); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
mmenke
2017/06/07 21:04:03
first referrer.GetOrigin() -> referrer
estark
2017/06/08 18:42:58
Unintuitive as it is, this is actually intentional
|
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), referrer.GetOrigin()); |
mmenke
2017/06/07 21:04:02
first referrer.GetOrigin() -> referrer
|
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
} |
TEST_F(URLRequestTestReferrerPolicy, HTTPToCrossOriginHTTP) { |
InstantiateCrossOriginServers(net::EmbeddedTestServer::TYPE_HTTP, |
net::EmbeddedTestServer::TYPE_HTTP); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/")); |
+ referrer, referrer.GetOrigin()); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/")); |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, |
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
mmenke
2017/06/07 21:04:02
first referrer.GetOrigin() -> referrer
|
+ referrer.GetOrigin()); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, GURL()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), referrer.GetOrigin()); |
mmenke
2017/06/07 21:04:03
first referrer.GetOrigin() -> referrer
|
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
mmenke
2017/06/07 21:04:01
first GURL() -> referrer
|
} |
TEST_F(URLRequestTestReferrerPolicy, HTTPSToSameOriginHTTPS) { |
InstantiateSameOriginServers(net::EmbeddedTestServer::TYPE_HTTPS); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
mmenke
2017/06/07 21:04:03
Please fix the rest of these, too.
|
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, |
+ referrer); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), referrer.GetOrigin()); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
} |
TEST_F(URLRequestTestReferrerPolicy, HTTPSToCrossOriginHTTPS) { |
InstantiateCrossOriginServers(net::EmbeddedTestServer::TYPE_HTTPS, |
net::EmbeddedTestServer::TYPE_HTTPS); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/")); |
+ referrer, origin_server()->GetURL("/")); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, |
origin_server()->GetURL("/")); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, GURL()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
} |
TEST_F(URLRequestTestReferrerPolicy, HTTPToHTTPS) { |
InstantiateCrossOriginServers(net::EmbeddedTestServer::TYPE_HTTP, |
net::EmbeddedTestServer::TYPE_HTTPS); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ referrer, referrer); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/")); |
+ referrer, origin_server()->GetURL("/")); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, |
origin_server()->GetURL("/")); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, GURL()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
} |
TEST_F(URLRequestTestReferrerPolicy, HTTPSToHTTP) { |
InstantiateCrossOriginServers(net::EmbeddedTestServer::TYPE_HTTPS, |
net::EmbeddedTestServer::TYPE_HTTP); |
+ GURL referrer = origin_server()->GetURL("/path/to/file.html"); |
VerifyReferrerAfterRedirect( |
URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
- origin_server()->GetURL("/path/to/file.html"), GURL()); |
+ referrer, GURL()); |
VerifyReferrerAfterRedirect( |
URLRequest::REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), GURL()); |
+ referrer, GURL()); |
VerifyReferrerAfterRedirect( |
- URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, |
- origin_server()->GetURL("/path/to/file.html"), |
+ URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN, referrer, |
origin_server()->GetURL("/")); |
- VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, |
- origin_server()->GetURL("/path/to/file.html"), |
- origin_server()->GetURL("/path/to/file.html")); |
+ VerifyReferrerAfterRedirect(URLRequest::NEVER_CLEAR_REFERRER, referrer, |
+ referrer); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::ORIGIN, referrer.GetOrigin(), |
+ referrer.GetOrigin()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN, referrer, GURL()); |
+ |
+ VerifyReferrerAfterRedirect( |
+ URLRequest::ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE, |
+ referrer.GetOrigin(), GURL()); |
+ |
+ VerifyReferrerAfterRedirect(URLRequest::NO_REFERRER, GURL(), GURL()); |
} |
class HTTPSRequestTest : public testing::Test { |