| Index: content/public/common/referrer.cc
|
| diff --git a/content/public/common/referrer.cc b/content/public/common/referrer.cc
|
| index 087fc7480ec0e445e307e1f0eed4b7dc59651504..c3a1051f59f3d6cc97b92e964d01f012279c3f5e 100644
|
| --- a/content/public/common/referrer.cc
|
| +++ b/content/public/common/referrer.cc
|
| @@ -8,7 +8,6 @@
|
|
|
| #include "base/command_line.h"
|
| #include "content/public/common/content_switches.h"
|
| -#include "net/url_request/url_request.h"
|
|
|
| namespace content {
|
|
|
| @@ -84,40 +83,37 @@ void Referrer::SetReferrerForRequest(net::URLRequest* request,
|
| request->SetReferrer(referrer.url.spec());
|
| }
|
|
|
| - net::URLRequest::ReferrerPolicy net_referrer_policy =
|
| - net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| + request->set_referrer_policy(ReferrerPolicyForUrlRequest(referrer));
|
| +}
|
| +
|
| +// static
|
| +net::URLRequest::ReferrerPolicy Referrer::ReferrerPolicyForUrlRequest(
|
| + const Referrer& referrer) {
|
| switch (referrer.policy) {
|
| case blink::WebReferrerPolicyAlways:
|
| - net_referrer_policy = net::URLRequest::NEVER_CLEAR_REFERRER;
|
| - break;
|
| + return net::URLRequest::NEVER_CLEAR_REFERRER;
|
| case blink::WebReferrerPolicyNever:
|
| - net_referrer_policy = net::URLRequest::NO_REFERRER;
|
| - break;
|
| + return net::URLRequest::NO_REFERRER;
|
| case blink::WebReferrerPolicyOrigin:
|
| - net_referrer_policy = net::URLRequest::ORIGIN;
|
| - break;
|
| + return net::URLRequest::ORIGIN;
|
| case blink::WebReferrerPolicyNoReferrerWhenDowngrade:
|
| - net_referrer_policy =
|
| - net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| - break;
|
| + return net::URLRequest::
|
| + CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| case blink::WebReferrerPolicyOriginWhenCrossOrigin:
|
| - net_referrer_policy =
|
| - net::URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN;
|
| - break;
|
| + return net::URLRequest::ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN;
|
| case blink::WebReferrerPolicyDefault:
|
| - net_referrer_policy =
|
| - command_line->HasSwitch(switches::kReducedReferrerGranularity)
|
| - ? net::URLRequest::
|
| - REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN
|
| - : net::URLRequest::
|
| - CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| - break;
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kReducedReferrerGranularity)) {
|
| + return net::URLRequest::
|
| + REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN;
|
| + }
|
| + return net::URLRequest::
|
| + CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| case blink::WebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin:
|
| - net_referrer_policy = net::URLRequest::
|
| + return net::URLRequest::
|
| REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN;
|
| - break;
|
| }
|
| - request->set_referrer_policy(net_referrer_policy);
|
| + return net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
| }
|
|
|
| } // namespace content
|
|
|