| 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 |