OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/io_thread.h" | 5 #include "chrome/browser/io_thread.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/debug/leak_tracker.h" | 10 #include "base/debug/leak_tracker.h" |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 auth_schemes_ = local_state->GetString(prefs::kAuthSchemes); | 305 auth_schemes_ = local_state->GetString(prefs::kAuthSchemes); |
306 negotiate_disable_cname_lookup_ = local_state->GetBoolean( | 306 negotiate_disable_cname_lookup_ = local_state->GetBoolean( |
307 prefs::kDisableAuthNegotiateCnameLookup); | 307 prefs::kDisableAuthNegotiateCnameLookup); |
308 negotiate_enable_port_ = local_state->GetBoolean( | 308 negotiate_enable_port_ = local_state->GetBoolean( |
309 prefs::kEnableAuthNegotiatePort); | 309 prefs::kEnableAuthNegotiatePort); |
310 auth_server_whitelist_ = local_state->GetString(prefs::kAuthServerWhitelist); | 310 auth_server_whitelist_ = local_state->GetString(prefs::kAuthServerWhitelist); |
311 auth_delegate_whitelist_ = local_state->GetString( | 311 auth_delegate_whitelist_ = local_state->GetString( |
312 prefs::kAuthNegotiateDelegateWhitelist); | 312 prefs::kAuthNegotiateDelegateWhitelist); |
313 gssapi_library_name_ = local_state->GetString(prefs::kGSSAPILibraryName); | 313 gssapi_library_name_ = local_state->GetString(prefs::kGSSAPILibraryName); |
314 pref_proxy_config_tracker_ = new PrefProxyConfigTracker(local_state); | 314 pref_proxy_config_tracker_ = new PrefProxyConfigTracker(local_state); |
| 315 ChromeNetworkDelegate::InitializeReferrersEnabled(&system_enable_referrers_, |
| 316 local_state); |
315 } | 317 } |
316 | 318 |
317 IOThread::~IOThread() { | 319 IOThread::~IOThread() { |
318 if (pref_proxy_config_tracker_) | 320 if (pref_proxy_config_tracker_) |
319 pref_proxy_config_tracker_->DetachFromPrefService(); | 321 pref_proxy_config_tracker_->DetachFromPrefService(); |
320 // We cannot rely on our base class to stop the thread since we want our | 322 // We cannot rely on our base class to stop the thread since we want our |
321 // CleanUp function to run. | 323 // CleanUp function to run. |
322 Stop(); | 324 Stop(); |
323 DCHECK(!globals_); | 325 DCHECK(!globals_); |
324 } | 326 } |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 | 424 |
423 // Add an observer that will emit network change events to the ChromeNetLog. | 425 // Add an observer that will emit network change events to the ChromeNetLog. |
424 // Assuming NetworkChangeNotifier dispatches in FIFO order, we should be | 426 // Assuming NetworkChangeNotifier dispatches in FIFO order, we should be |
425 // logging the network change before other IO thread consumers respond to it. | 427 // logging the network change before other IO thread consumers respond to it. |
426 network_change_observer_.reset( | 428 network_change_observer_.reset( |
427 new LoggingNetworkChangeObserver(net_log_)); | 429 new LoggingNetworkChangeObserver(net_log_)); |
428 | 430 |
429 globals_->extension_event_router_forwarder = | 431 globals_->extension_event_router_forwarder = |
430 extension_event_router_forwarder_; | 432 extension_event_router_forwarder_; |
431 globals_->system_network_delegate.reset(new ChromeNetworkDelegate( | 433 globals_->system_network_delegate.reset(new ChromeNetworkDelegate( |
432 extension_event_router_forwarder_, Profile::kInvalidProfileId, NULL)); | 434 extension_event_router_forwarder_, |
| 435 Profile::kInvalidProfileId, |
| 436 &system_enable_referrers_, |
| 437 NULL)); |
433 globals_->host_resolver.reset( | 438 globals_->host_resolver.reset( |
434 CreateGlobalHostResolver(net_log_)); | 439 CreateGlobalHostResolver(net_log_)); |
435 globals_->cert_verifier.reset(new net::CertVerifier); | 440 globals_->cert_verifier.reset(new net::CertVerifier); |
436 globals_->dnsrr_resolver.reset(new net::DnsRRResolver); | 441 globals_->dnsrr_resolver.reset(new net::DnsRRResolver); |
437 // TODO(willchan): Use the real SSLConfigService. | 442 // TODO(willchan): Use the real SSLConfigService. |
438 globals_->ssl_config_service = | 443 globals_->ssl_config_service = |
439 net::SSLConfigService::CreateSystemSSLConfigService(); | 444 net::SSLConfigService::CreateSystemSSLConfigService(); |
440 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( | 445 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
441 globals_->host_resolver.get())); | 446 globals_->host_resolver.get())); |
442 // For the ProxyScriptFetcher, we use a direct ProxyService. | 447 // For the ProxyScriptFetcher, we use a direct ProxyService. |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
542 // static | 547 // static |
543 void IOThread::RegisterPrefs(PrefService* local_state) { | 548 void IOThread::RegisterPrefs(PrefService* local_state) { |
544 local_state->RegisterStringPref(prefs::kAuthSchemes, | 549 local_state->RegisterStringPref(prefs::kAuthSchemes, |
545 "basic,digest,ntlm,negotiate"); | 550 "basic,digest,ntlm,negotiate"); |
546 local_state->RegisterBooleanPref(prefs::kDisableAuthNegotiateCnameLookup, | 551 local_state->RegisterBooleanPref(prefs::kDisableAuthNegotiateCnameLookup, |
547 false); | 552 false); |
548 local_state->RegisterBooleanPref(prefs::kEnableAuthNegotiatePort, false); | 553 local_state->RegisterBooleanPref(prefs::kEnableAuthNegotiatePort, false); |
549 local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); | 554 local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); |
550 local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); | 555 local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); |
551 local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); | 556 local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); |
| 557 local_state->RegisterBooleanPref(prefs::kEnableReferrers, true); |
552 } | 558 } |
553 | 559 |
554 net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( | 560 net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( |
555 net::HostResolver* resolver) { | 561 net::HostResolver* resolver) { |
556 net::HttpAuthFilterWhitelist* auth_filter_default_credentials = NULL; | 562 net::HttpAuthFilterWhitelist* auth_filter_default_credentials = NULL; |
557 if (!auth_server_whitelist_.empty()) { | 563 if (!auth_server_whitelist_.empty()) { |
558 auth_filter_default_credentials = | 564 auth_filter_default_credentials = |
559 new net::HttpAuthFilterWhitelist(auth_server_whitelist_); | 565 new net::HttpAuthFilterWhitelist(auth_server_whitelist_); |
560 } | 566 } |
561 net::HttpAuthFilterWhitelist* auth_filter_delegate = NULL; | 567 net::HttpAuthFilterWhitelist* auth_filter_delegate = NULL; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 system_params.network_delegate = globals_->system_network_delegate.get(); | 665 system_params.network_delegate = globals_->system_network_delegate.get(); |
660 system_params.net_log = net_log_; | 666 system_params.net_log = net_log_; |
661 globals_->system_http_transaction_factory.reset( | 667 globals_->system_http_transaction_factory.reset( |
662 new net::HttpNetworkLayer( | 668 new net::HttpNetworkLayer( |
663 new net::HttpNetworkSession(system_params))); | 669 new net::HttpNetworkSession(system_params))); |
664 globals_->system_ftp_transaction_factory.reset( | 670 globals_->system_ftp_transaction_factory.reset( |
665 new net::FtpNetworkLayer(globals_->host_resolver.get())); | 671 new net::FtpNetworkLayer(globals_->host_resolver.get())); |
666 globals_->system_request_context = | 672 globals_->system_request_context = |
667 ConstructSystemRequestContext(globals_, net_log_); | 673 ConstructSystemRequestContext(globals_, net_log_); |
668 } | 674 } |
OLD | NEW |