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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 std::string ReferrerPolicyToString(blink::WebReferrerPolicy referrer_policy) { | 83 std::string ReferrerPolicyToString(blink::WebReferrerPolicy referrer_policy) { |
84 switch (referrer_policy) { | 84 switch (referrer_policy) { |
85 case blink::kWebReferrerPolicyDefault: | 85 case blink::kWebReferrerPolicyDefault: |
86 return "no-meta"; | 86 return "no-meta"; |
87 case blink::kWebReferrerPolicyNoReferrerWhenDowngrade: | 87 case blink::kWebReferrerPolicyNoReferrerWhenDowngrade: |
88 return "default"; | 88 return "default"; |
89 case blink::kWebReferrerPolicyOrigin: | 89 case blink::kWebReferrerPolicyOrigin: |
90 return "origin"; | 90 return "origin"; |
91 case blink::kWebReferrerPolicyOriginWhenCrossOrigin: | 91 case blink::kWebReferrerPolicyOriginWhenCrossOrigin: |
92 return "origin-when-crossorigin"; | 92 return "origin-when-crossorigin"; |
| 93 case blink::kWebReferrerPolicySameOrigin: |
| 94 return "same-origin"; |
| 95 case blink::kWebReferrerPolicyStrictOrigin: |
| 96 return "strict-origin"; |
93 case blink::kWebReferrerPolicyAlways: | 97 case blink::kWebReferrerPolicyAlways: |
94 return "always"; | 98 return "always"; |
95 case blink::kWebReferrerPolicyNever: | 99 case blink::kWebReferrerPolicyNever: |
96 return "never"; | 100 return "never"; |
97 case blink:: | 101 case blink:: |
98 kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin: | 102 kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin: |
99 return "reduce-referrer-granularity"; | 103 return "reduce-referrer-granularity"; |
100 } | 104 } |
101 NOTREACHED(); | 105 NOTREACHED(); |
102 return ""; | 106 return ""; |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 } | 596 } |
593 | 597 |
594 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, | 598 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
595 HttpLeftClickRedirectToHTTPOriginWhenCrossOrigin) { | 599 HttpLeftClickRedirectToHTTPOriginWhenCrossOrigin) { |
596 RunReferrerTest(blink::kWebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP, | 600 RunReferrerTest(blink::kWebReferrerPolicyOriginWhenCrossOrigin, START_ON_HTTP, |
597 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTP, | 601 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTP, |
598 WindowOpenDisposition::CURRENT_TAB, | 602 WindowOpenDisposition::CURRENT_TAB, |
599 blink::WebMouseEvent::Button::kLeft, EXPECT_FULL_REFERRER); | 603 blink::WebMouseEvent::Button::kLeft, EXPECT_FULL_REFERRER); |
600 } | 604 } |
601 | 605 |
| 606 // Same origin |
| 607 |
| 608 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
| 609 HttpLeftClickHTTPRedirectToHTTPSameOrigin) { |
| 610 RunReferrerTest(blink::kWebReferrerPolicySameOrigin, START_ON_HTTP, |
| 611 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTP_TO_HTTP, |
| 612 WindowOpenDisposition::CURRENT_TAB, |
| 613 blink::WebMouseEvent::Button::kLeft, EXPECT_FULL_REFERRER); |
| 614 } |
| 615 |
| 616 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
| 617 HttpLeftClickHTTPRedirectToHTTPSSameOrigin) { |
| 618 RunReferrerTest(blink::kWebReferrerPolicySameOrigin, START_ON_HTTPS, |
| 619 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, |
| 620 WindowOpenDisposition::CURRENT_TAB, |
| 621 blink::WebMouseEvent::Button::kLeft, EXPECT_EMPTY_REFERRER); |
| 622 } |
| 623 |
| 624 // Strict origin |
| 625 |
| 626 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
| 627 HttpLeftClickHTTPRedirectToHTTPStrictOrigin) { |
| 628 RunReferrerTest( |
| 629 blink::kWebReferrerPolicyStrictOrigin, START_ON_HTTP, REGULAR_LINK, |
| 630 SERVER_REDIRECT_FROM_HTTP_TO_HTTP, WindowOpenDisposition::CURRENT_TAB, |
| 631 blink::WebMouseEvent::Button::kLeft, EXPECT_ORIGIN_AS_REFERRER); |
| 632 } |
| 633 |
| 634 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, |
| 635 HttpLeftClickHTTPSRedirectToHTTPStrictOrigin) { |
| 636 RunReferrerTest(blink::kWebReferrerPolicyStrictOrigin, START_ON_HTTPS, |
| 637 REGULAR_LINK, SERVER_REDIRECT_FROM_HTTPS_TO_HTTP, |
| 638 WindowOpenDisposition::CURRENT_TAB, |
| 639 blink::WebMouseEvent::Button::kLeft, EXPECT_EMPTY_REFERRER); |
| 640 } |
| 641 |
602 // Reduced 'referer' granularity flag tests. | 642 // Reduced 'referer' granularity flag tests. |
603 | 643 |
604 // User initiated navigation, from HTTP to HTTPS via server redirect. | 644 // User initiated navigation, from HTTP to HTTPS via server redirect. |
605 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultNoFlag) { | 645 IN_PROC_BROWSER_TEST_F(ReferrerPolicyTest, HttpLeftClickRedirectDefaultNoFlag) { |
606 RunReferrerTest(blink::kWebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, | 646 RunReferrerTest(blink::kWebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, |
607 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, | 647 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, |
608 WindowOpenDisposition::CURRENT_TAB, | 648 WindowOpenDisposition::CURRENT_TAB, |
609 blink::WebMouseEvent::Button::kLeft, EXPECT_FULL_REFERRER, | 649 blink::WebMouseEvent::Button::kLeft, EXPECT_FULL_REFERRER, |
610 blink::kWebReferrerPolicyNoReferrerWhenDowngrade); | 650 blink::kWebReferrerPolicyNoReferrerWhenDowngrade); |
611 } | 651 } |
612 | 652 |
613 IN_PROC_BROWSER_TEST_F(ReferrerPolicyWithReduceReferrerGranularityFlagTest, | 653 IN_PROC_BROWSER_TEST_F(ReferrerPolicyWithReduceReferrerGranularityFlagTest, |
614 HttpLeftClickRedirectDefaultFlag) { | 654 HttpLeftClickRedirectDefaultFlag) { |
615 blink::WebReferrerPolicy expected_referrer_policy = | 655 blink::WebReferrerPolicy expected_referrer_policy = |
616 blink::kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin; | 656 blink::kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin; |
617 | 657 |
618 RunReferrerTest(blink::kWebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, | 658 RunReferrerTest(blink::kWebReferrerPolicyDefault, START_ON_HTTP, REGULAR_LINK, |
619 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, | 659 SERVER_REDIRECT_FROM_HTTP_TO_HTTPS, |
620 WindowOpenDisposition::CURRENT_TAB, | 660 WindowOpenDisposition::CURRENT_TAB, |
621 blink::WebMouseEvent::Button::kLeft, | 661 blink::WebMouseEvent::Button::kLeft, |
622 EXPECT_ORIGIN_AS_REFERRER, expected_referrer_policy); | 662 EXPECT_ORIGIN_AS_REFERRER, expected_referrer_policy); |
623 } | 663 } |
OLD | NEW |