Index: chrome/browser/referrer_policy_browsertest.cc |
diff --git a/chrome/browser/referrer_policy_browsertest.cc b/chrome/browser/referrer_policy_browsertest.cc |
index df05db568793cf05de2d9592ca13a0a8c8a05227..a078fd7591db73d364d7efcfd0012eba7b7a20f8 100644 |
--- a/chrome/browser/referrer_policy_browsertest.cc |
+++ b/chrome/browser/referrer_policy_browsertest.cc |
@@ -14,6 +14,8 @@ |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/test/base/in_process_browser_test.h" |
#include "chrome/test/base/ui_test_utils.h" |
+#include "content/public/browser/navigation_controller.h" |
+#include "content/public/browser/navigation_entry.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/web_contents.h" |
@@ -99,11 +101,27 @@ class ReferrerPolicyTest : public InProcessBrowserTest { |
GetExpectedTitle(url, EXPECT_ORIGIN_AS_REFERRER)); |
} |
+ // Returns a string representation of a given |referrer_policy|. |
+ std::string ReferrerPolicyToString(blink::WebReferrerPolicy referrer_policy) { |
+ switch (referrer_policy) { |
+ case blink::WebReferrerPolicyDefault: |
+ return "default"; |
+ case blink::WebReferrerPolicyOrigin: |
+ return "origin"; |
+ case blink::WebReferrerPolicyAlways: |
+ return "always"; |
+ case blink::WebReferrerPolicyNever: |
+ return "never"; |
+ default: |
+ NOTREACHED(); |
+ return ""; |
+ } |
+ } |
+ |
// Navigates from a page with a given |referrer_policy| and checks that the |
// reported referrer matches the expectation. |
// Parameters: |
- // referrer_policy: The referrer policy to test ("default", "always", |
- // "origin", "never") |
+ // referrer_policy: The referrer policy to test. |
// start_on_https: True if the test should start on an HTTPS page. |
// target_blank: True if the link that is generated should have the |
// attribute target=_blank |
@@ -116,7 +134,7 @@ class ReferrerPolicyTest : public InProcessBrowserTest { |
// |
// Returns: |
// The URL of the first page navigated to. |
- GURL RunReferrerTest(const std::string referrer_policy, |
+ GURL RunReferrerTest(const blink::WebReferrerPolicy referrer_policy, |
bool start_on_https, |
bool target_blank, |
bool redirect, |
@@ -128,7 +146,7 @@ class ReferrerPolicyTest : public InProcessBrowserTest { |
start_on_https ? ssl_test_server_.get() : test_server_.get(); |
start_url = start_server->GetURL( |
std::string("files/referrer-policy-start.html?") + |
- "policy=" + referrer_policy + |
+ "policy=" + ReferrerPolicyToString(referrer_policy) + |
"&port=" + base::IntToString(test_server_->host_port_pair().port()) + |
"&ssl_port=" + |
base::IntToString(ssl_test_server_->host_port_pair().port()) + |
@@ -173,6 +191,9 @@ class ReferrerPolicyTest : public InProcessBrowserTest { |
EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
} |
+ EXPECT_EQ(referrer_policy, |
+ tab->GetController().GetActiveEntry()->GetReferrer().policy); |
+ |
return start_url; |
} |
@@ -189,70 +210,70 @@ class ReferrerPolicyTest : public InProcessBrowserTest { |
// Content initiated navigation, from HTTP to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Origin) { |
- RunReferrerTest("origin", false, false, false, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, false, false, |
blink::WebMouseEvent::ButtonNone, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// Content initiated navigation, from HTTPS to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsDefault) { |
- RunReferrerTest("origin", true, false, false, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, false, false, |
blink::WebMouseEvent::ButtonNone, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, from HTTP to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickOrigin) { |
- RunReferrerTest("origin", false, false, false, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, false, false, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, from HTTPS to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickOrigin) { |
- RunReferrerTest("origin", true, false, false, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, false, false, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, middle click, from HTTP to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickOrigin) { |
- RunReferrerTest("origin", false, false, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, false, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, middle click, from HTTPS to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickOrigin) { |
- RunReferrerTest("origin", true, false, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, false, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, target blank, from HTTP to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankOrigin) { |
- RunReferrerTest("origin", false, true, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, true, false, true, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, target blank, from HTTPS to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankOrigin) { |
- RunReferrerTest("origin", true, true, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, true, false, true, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, middle click, target blank, from HTTP to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankOrigin) { |
- RunReferrerTest("origin", false, true, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, true, false, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, middle click, target blank, from HTTPS to HTTP. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickTargetBlankOrigin) { |
- RunReferrerTest("origin", true, true, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, true, false, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -261,7 +282,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickTargetBlankOrigin) { |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_ContextMenuOrigin) { |
ContextMenuNotificationObserver context_menu_observer( |
IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); |
- RunReferrerTest("origin", false, false, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, false, true, |
blink::WebMouseEvent::ButtonRight, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -270,35 +291,35 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_ContextMenuOrigin) { |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_HttpsContextMenuOrigin) { |
ContextMenuNotificationObserver context_menu_observer( |
IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); |
- RunReferrerTest("origin", true, false, false, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, false, true, |
blink::WebMouseEvent::ButtonRight, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// Content initiated navigation, from HTTP to HTTP via server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, Redirect) { |
- RunReferrerTest("origin", false, false, true, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, true, false, |
blink::WebMouseEvent::ButtonNone, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// Content initiated navigation, from HTTPS to HTTP via server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsRedirect) { |
- RunReferrerTest("origin", true, false, true, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, true, false, |
blink::WebMouseEvent::ButtonNone, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, from HTTP to HTTP via server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, LeftClickRedirect) { |
- RunReferrerTest("origin", false, false, true, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, true, false, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
// User initiated navigation, from HTTPS to HTTP via server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) { |
- RunReferrerTest("origin", true, false, true, false, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, true, false, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -306,7 +327,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsLeftClickRedirect) { |
// User initiated navigation, middle click, from HTTP to HTTP via server |
// redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) { |
- RunReferrerTest("origin", false, false, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, true, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -314,7 +335,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickRedirect) { |
// User initiated navigation, middle click, from HTTPS to HTTP via server |
// redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) { |
- RunReferrerTest("origin", true, false, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, true, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -322,7 +343,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsMiddleClickRedirect) { |
// User initiated navigation, target blank, from HTTP to HTTP via server |
// redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) { |
- RunReferrerTest("origin", false, true, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, true, true, true, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -330,7 +351,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, TargetBlankRedirect) { |
// User initiated navigation, target blank, from HTTPS to HTTP via server |
// redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) { |
- RunReferrerTest("origin", true, true, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, true, true, true, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -338,7 +359,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpsTargetBlankRedirect) { |
// User initiated navigation, middle click, target blank, from HTTP to HTTP via |
// server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) { |
- RunReferrerTest("origin", false, true, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, true, true, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -347,7 +368,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MiddleClickTargetBlankRedirect) { |
// via server redirect. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
HttpsMiddleClickTargetBlankRedirect) { |
- RunReferrerTest("origin", true, true, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, true, true, true, |
blink::WebMouseEvent::ButtonMiddle, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -356,7 +377,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_ContextMenuRedirect) { |
ContextMenuNotificationObserver context_menu_observer( |
IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); |
- RunReferrerTest("origin", false, false, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, false, false, true, true, |
blink::WebMouseEvent::ButtonRight, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -365,7 +386,7 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_ContextMenuRedirect) { |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_HttpsContextMenuRedirect) { |
ContextMenuNotificationObserver context_menu_observer( |
IDC_CONTENT_CONTEXT_OPENLINKNEWTAB); |
- RunReferrerTest("origin", true, false, true, true, |
+ RunReferrerTest(blink::WebReferrerPolicyOrigin, true, false, true, true, |
blink::WebMouseEvent::ButtonRight, |
EXPECT_ORIGIN_AS_REFERRER); |
} |
@@ -374,7 +395,11 @@ IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, MAYBE_HttpsContextMenuRedirect) { |
// policy, then navigate to C, back to B, and reload. |
IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, History) { |
// Navigate from A to B. |
- GURL start_url = RunReferrerTest("origin", true, false, true, false, |
+ GURL start_url = RunReferrerTest(blink::WebReferrerPolicyOrigin, |
+ true, |
+ false, |
+ true, |
+ false, |
blink::WebMouseEvent::ButtonLeft, |
EXPECT_ORIGIN_AS_REFERRER); |