Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1788)

Unified Diff: content/browser/renderer_host/resource_dispatcher_host.cc

Issue 6773006: Add enableReferrers and enableHyperlinkAuditing to contentSettings.misc API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/resource_dispatcher_host.cc
diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc
index b8392d0c7c3e98a3935b3f7ba8add5d14b13cfe9..d672dc337b98df817f13a87e5c81ba6c66cef7a1 100644
--- a/content/browser/renderer_host/resource_dispatcher_host.cc
+++ b/content/browser/renderer_host/resource_dispatcher_host.cc
@@ -412,8 +412,8 @@ void ResourceDispatcherHost::BeginRequest(
net::URLRequest* request = new net::URLRequest(request_data.url, this);
request->set_method(request_data.method);
request->set_first_party_for_cookies(request_data.first_party_for_cookies);
- request->set_referrer(CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kNoReferrers) ? std::string() : request_data.referrer.spec());
+ request->set_referrer(ReferrersEnabled() ? request_data.referrer.spec()
+ : std::string());
net::HttpRequestHeaders headers;
headers.AddHeadersFromString(request_data.headers);
request->SetExtraRequestHeaders(headers);
@@ -722,8 +722,8 @@ void ResourceDispatcherHost::BeginDownload(
}
request->set_method("GET");
- request->set_referrer(CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kNoReferrers) ? std::string() : referrer.spec());
+ request->set_referrer(ReferrersEnabled() ? referrer.spec()
+ : std::string());
request->set_context(request_context);
request->set_load_flags(request->load_flags() |
net::LOAD_IS_DOWNLOAD);
@@ -763,8 +763,8 @@ void ResourceDispatcherHost::BeginSaveFile(
net::URLRequest* request = new net::URLRequest(url, this);
request->set_method("GET");
- request->set_referrer(CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kNoReferrers) ? std::string() : referrer.spec());
+ request->set_referrer(ReferrersEnabled() ? referrer.spec()
+ : std::string());
// So far, for saving page, we need fetch content from cache, in the
// future, maybe we can use a configuration to configure this behavior.
request->set_load_flags(net::LOAD_PREFERRING_CACHE);
@@ -1945,6 +1945,14 @@ bool ResourceDispatcherHost::IsPrerenderingChildRoutePair(int child_id,
}
+bool ResourceDispatcherHost::ReferrersEnabled() {
+ // If we're not being called through the ResourceMessageFilter, referrers
+ // should have been stripped beforehand.
+ if (!filter_)
+ return true;
+ return filter_->referrers_enabled();
+}
+
// static
bool ResourceDispatcherHost::is_prefetch_enabled() {
return is_prefetch_enabled_;

Powered by Google App Engine
This is Rietveld 408576698