Index: chrome/browser/io_thread.cc |
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
index f5f68113407a3a4ab62054946b9f60ecea0831be..373abfe9a50666318cea207669463bcdfdbbc93f 100644 |
--- a/chrome/browser/io_thread.cc |
+++ b/chrome/browser/io_thread.cc |
@@ -307,11 +307,15 @@ IOThread::IOThread( |
prefs::kAuthNegotiateDelegateWhitelist); |
gssapi_library_name_ = local_state->GetString(prefs::kGSSAPILibraryName); |
pref_proxy_config_tracker_ = new PrefProxyConfigTracker(local_state); |
+ enable_referrers_ = new BooleanPrefMember(); |
+ enable_referrers_->Init(prefs::kEnableReferrers, local_state, NULL); |
+ enable_referrers_->MoveToThread(BrowserThread::IO); |
} |
IOThread::~IOThread() { |
if (pref_proxy_config_tracker_) |
pref_proxy_config_tracker_->DetachFromPrefService(); |
+ enable_referrers_->Destroy(); |
// We cannot rely on our base class to stop the thread since we want our |
// CleanUp function to run. |
Stop(); |
@@ -424,7 +428,10 @@ void IOThread::Init() { |
globals_->extension_event_router_forwarder = |
extension_event_router_forwarder_; |
globals_->system_network_delegate.reset(new ChromeNetworkDelegate( |
- extension_event_router_forwarder_, Profile::kInvalidProfileId, NULL)); |
+ extension_event_router_forwarder_, |
+ Profile::kInvalidProfileId, |
+ enable_referrers_, |
+ NULL)); |
globals_->host_resolver.reset( |
CreateGlobalHostResolver(net_log_)); |
globals_->cert_verifier.reset(new net::CertVerifier); |
@@ -542,6 +549,7 @@ void IOThread::RegisterPrefs(PrefService* local_state) { |
local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); |
local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); |
local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); |
+ local_state->RegisterBooleanPref(prefs::kEnableReferrers, true); |
} |
net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( |