Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1094)

Unified Diff: net/url_request/url_request_unittest.cc

Issue 2918313002: Implement new referrer policies (Closed)
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698