| Index: content/browser/loader/resource_dispatcher_host_impl.cc
|
| diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
|
| index c8341d63c690d42639a97299692867a4a7bddab2..5f0c91fd4a676cee4586687bd97ded7061481010 100644
|
| --- a/content/browser/loader/resource_dispatcher_host_impl.cc
|
| +++ b/content/browser/loader/resource_dispatcher_host_impl.cc
|
| @@ -231,9 +231,9 @@ void AbortRequestBeforeItStarts(ResourceMessageFilter* filter,
|
| }
|
|
|
| void SetReferrerForRequest(net::URLRequest* request, const Referrer& referrer) {
|
| + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
| if (!referrer.url.is_valid() ||
|
| - base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kNoReferrers)) {
|
| + command_line->HasSwitch(switches::kNoReferrers)) {
|
| request->SetReferrer(std::string());
|
| } else {
|
| request->SetReferrer(referrer.url.spec());
|
| @@ -248,6 +248,14 @@ void SetReferrerForRequest(net::URLRequest* request, const Referrer& referrer) {
|
| net_referrer_policy = net::URLRequest::NEVER_CLEAR_REFERRER;
|
| break;
|
| 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;
|
| + case blink::WebReferrerPolicyNoReferrerWhenDowngrade:
|
| default:
|
| net_referrer_policy =
|
| net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
|
|
|