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 311ac52643830318b3844a87bb11752a9c3eeea3..9c0809aaf9fc19c62a6461f12bcde524414f93b7 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,7 +248,14 @@ void SetReferrerForRequest(net::URLRequest* request, const Referrer& referrer) { |
net_referrer_policy = net::URLRequest::NEVER_CLEAR_REFERRER; |
break; |
case blink::WebReferrerPolicyDefault: |
- default: |
+ 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; |
mmenke
2014/11/12 15:11:12
Suggest just writing this out as an if statement.
|
+ break; |
+ case blink::WebReferrerPolicyNoReferrerWhenDowngrade: |
net_referrer_policy = |
net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE; |
break; |