| 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 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 auth_schemes_ = local_state->GetString(prefs::kAuthSchemes); | 300 auth_schemes_ = local_state->GetString(prefs::kAuthSchemes); |
| 301 negotiate_disable_cname_lookup_ = local_state->GetBoolean( | 301 negotiate_disable_cname_lookup_ = local_state->GetBoolean( |
| 302 prefs::kDisableAuthNegotiateCnameLookup); | 302 prefs::kDisableAuthNegotiateCnameLookup); |
| 303 negotiate_enable_port_ = local_state->GetBoolean( | 303 negotiate_enable_port_ = local_state->GetBoolean( |
| 304 prefs::kEnableAuthNegotiatePort); | 304 prefs::kEnableAuthNegotiatePort); |
| 305 auth_server_whitelist_ = local_state->GetString(prefs::kAuthServerWhitelist); | 305 auth_server_whitelist_ = local_state->GetString(prefs::kAuthServerWhitelist); |
| 306 auth_delegate_whitelist_ = local_state->GetString( | 306 auth_delegate_whitelist_ = local_state->GetString( |
| 307 prefs::kAuthNegotiateDelegateWhitelist); | 307 prefs::kAuthNegotiateDelegateWhitelist); |
| 308 gssapi_library_name_ = local_state->GetString(prefs::kGSSAPILibraryName); | 308 gssapi_library_name_ = local_state->GetString(prefs::kGSSAPILibraryName); |
| 309 pref_proxy_config_tracker_ = new PrefProxyConfigTracker(local_state); | 309 pref_proxy_config_tracker_ = new PrefProxyConfigTracker(local_state); |
| 310 enable_referrers_ = new BooleanPrefMember(); |
| 311 enable_referrers_->Init(prefs::kEnableReferrers, local_state, NULL); |
| 312 enable_referrers_->MoveToThread(BrowserThread::IO); |
| 310 } | 313 } |
| 311 | 314 |
| 312 IOThread::~IOThread() { | 315 IOThread::~IOThread() { |
| 313 if (pref_proxy_config_tracker_) | 316 if (pref_proxy_config_tracker_) |
| 314 pref_proxy_config_tracker_->DetachFromPrefService(); | 317 pref_proxy_config_tracker_->DetachFromPrefService(); |
| 318 enable_referrers_->Destroy(); |
| 315 // We cannot rely on our base class to stop the thread since we want our | 319 // We cannot rely on our base class to stop the thread since we want our |
| 316 // CleanUp function to run. | 320 // CleanUp function to run. |
| 317 Stop(); | 321 Stop(); |
| 318 DCHECK(!globals_); | 322 DCHECK(!globals_); |
| 319 } | 323 } |
| 320 | 324 |
| 321 IOThread::Globals* IOThread::globals() { | 325 IOThread::Globals* IOThread::globals() { |
| 322 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 326 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 323 return globals_; | 327 return globals_; |
| 324 } | 328 } |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 421 |
| 418 // Add an observer that will emit network change events to the ChromeNetLog. | 422 // Add an observer that will emit network change events to the ChromeNetLog. |
| 419 // Assuming NetworkChangeNotifier dispatches in FIFO order, we should be | 423 // Assuming NetworkChangeNotifier dispatches in FIFO order, we should be |
| 420 // logging the network change before other IO thread consumers respond to it. | 424 // logging the network change before other IO thread consumers respond to it. |
| 421 network_change_observer_.reset( | 425 network_change_observer_.reset( |
| 422 new LoggingNetworkChangeObserver(net_log_)); | 426 new LoggingNetworkChangeObserver(net_log_)); |
| 423 | 427 |
| 424 globals_->extension_event_router_forwarder = | 428 globals_->extension_event_router_forwarder = |
| 425 extension_event_router_forwarder_; | 429 extension_event_router_forwarder_; |
| 426 globals_->system_network_delegate.reset(new ChromeNetworkDelegate( | 430 globals_->system_network_delegate.reset(new ChromeNetworkDelegate( |
| 427 extension_event_router_forwarder_, Profile::kInvalidProfileId, NULL)); | 431 extension_event_router_forwarder_, |
| 432 Profile::kInvalidProfileId, |
| 433 enable_referrers_, |
| 434 NULL)); |
| 428 globals_->host_resolver.reset( | 435 globals_->host_resolver.reset( |
| 429 CreateGlobalHostResolver(net_log_)); | 436 CreateGlobalHostResolver(net_log_)); |
| 430 globals_->cert_verifier.reset(new net::CertVerifier); | 437 globals_->cert_verifier.reset(new net::CertVerifier); |
| 431 globals_->dnsrr_resolver.reset(new net::DnsRRResolver); | 438 globals_->dnsrr_resolver.reset(new net::DnsRRResolver); |
| 432 // TODO(willchan): Use the real SSLConfigService. | 439 // TODO(willchan): Use the real SSLConfigService. |
| 433 globals_->ssl_config_service = | 440 globals_->ssl_config_service = |
| 434 net::SSLConfigService::CreateSystemSSLConfigService(); | 441 net::SSLConfigService::CreateSystemSSLConfigService(); |
| 435 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( | 442 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
| 436 globals_->host_resolver.get())); | 443 globals_->host_resolver.get())); |
| 437 // For the ProxyScriptFetcher, we use a direct ProxyService. | 444 // For the ProxyScriptFetcher, we use a direct ProxyService. |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 // static | 542 // static |
| 536 void IOThread::RegisterPrefs(PrefService* local_state) { | 543 void IOThread::RegisterPrefs(PrefService* local_state) { |
| 537 local_state->RegisterStringPref(prefs::kAuthSchemes, | 544 local_state->RegisterStringPref(prefs::kAuthSchemes, |
| 538 "basic,digest,ntlm,negotiate"); | 545 "basic,digest,ntlm,negotiate"); |
| 539 local_state->RegisterBooleanPref(prefs::kDisableAuthNegotiateCnameLookup, | 546 local_state->RegisterBooleanPref(prefs::kDisableAuthNegotiateCnameLookup, |
| 540 false); | 547 false); |
| 541 local_state->RegisterBooleanPref(prefs::kEnableAuthNegotiatePort, false); | 548 local_state->RegisterBooleanPref(prefs::kEnableAuthNegotiatePort, false); |
| 542 local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); | 549 local_state->RegisterStringPref(prefs::kAuthServerWhitelist, ""); |
| 543 local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); | 550 local_state->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, ""); |
| 544 local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); | 551 local_state->RegisterStringPref(prefs::kGSSAPILibraryName, ""); |
| 552 local_state->RegisterBooleanPref(prefs::kEnableReferrers, true); |
| 545 } | 553 } |
| 546 | 554 |
| 547 net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( | 555 net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( |
| 548 net::HostResolver* resolver) { | 556 net::HostResolver* resolver) { |
| 549 net::HttpAuthFilterWhitelist* auth_filter_default_credentials = NULL; | 557 net::HttpAuthFilterWhitelist* auth_filter_default_credentials = NULL; |
| 550 if (!auth_server_whitelist_.empty()) { | 558 if (!auth_server_whitelist_.empty()) { |
| 551 auth_filter_default_credentials = | 559 auth_filter_default_credentials = |
| 552 new net::HttpAuthFilterWhitelist(auth_server_whitelist_); | 560 new net::HttpAuthFilterWhitelist(auth_server_whitelist_); |
| 553 } | 561 } |
| 554 net::HttpAuthFilterWhitelist* auth_filter_delegate = NULL; | 562 net::HttpAuthFilterWhitelist* auth_filter_delegate = NULL; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 system_params.http_auth_handler_factory = | 658 system_params.http_auth_handler_factory = |
| 651 globals_->http_auth_handler_factory.get(); | 659 globals_->http_auth_handler_factory.get(); |
| 652 system_params.network_delegate = globals_->system_network_delegate.get(); | 660 system_params.network_delegate = globals_->system_network_delegate.get(); |
| 653 system_params.net_log = net_log_; | 661 system_params.net_log = net_log_; |
| 654 globals_->system_http_transaction_factory.reset( | 662 globals_->system_http_transaction_factory.reset( |
| 655 new net::HttpNetworkLayer( | 663 new net::HttpNetworkLayer( |
| 656 new net::HttpNetworkSession(system_params))); | 664 new net::HttpNetworkSession(system_params))); |
| 657 globals_->system_request_context = | 665 globals_->system_request_context = |
| 658 ConstructSystemRequestContext(globals_, net_log_); | 666 ConstructSystemRequestContext(globals_, net_log_); |
| 659 } | 667 } |
| OLD | NEW |