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

Unified Diff: chrome/browser/io_thread.cc

Issue 10912132: Move ProxyConfigService construction onto the IO thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove extra blank line Created 8 years, 2 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: chrome/browser/io_thread.cc
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index b8b3c9000033954a6e31e17ec8dee9cba1930b1b..76ac6fbd3e13697992b4ef7bf77899e91014db9c 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -379,8 +379,7 @@ IOThread::~IOThread() {
// be multiply constructed.
BrowserThread::SetDelegate(BrowserThread::IO, NULL);
- if (pref_proxy_config_tracker_.get())
- pref_proxy_config_tracker_->DetachFromPrefService();
+ pref_proxy_config_tracker_->DetachFromPrefService();
DCHECK(!globals_);
}
@@ -536,6 +535,8 @@ void IOThread::Init() {
globals_->proxy_script_fetcher_context.reset(
ConstructProxyScriptFetcherContext(globals_, net_log_));
+ system_proxy_config_service_.reset(
+ ProxyServiceFactory::CreateProxyConfigService(true));
sdch_manager_ = new net::SdchManager();
#if defined(OS_MACOSX) && !defined(OS_IOS)
@@ -674,14 +675,8 @@ void IOThread::InitSystemRequestContext() {
// If we're in unit_tests, IOThread may not be run.
if (!BrowserThread::IsMessageLoopValid(BrowserThread::IO))
return;
- bool wait_for_first_update = (pref_proxy_config_tracker_.get() != NULL);
- ChromeProxyConfigService* proxy_config_service =
- ProxyServiceFactory::CreateProxyConfigService(wait_for_first_update);
- system_proxy_config_service_.reset(proxy_config_service);
- if (pref_proxy_config_tracker_.get()) {
- pref_proxy_config_tracker_->SetChromeProxyConfigService(
- proxy_config_service);
- }
+ pref_proxy_config_tracker_->SetChromeProxyConfigService(
+ system_proxy_config_service_.get());
system_url_request_context_getter_ =
new SystemURLRequestContextGetter(this);
// Safe to post an unretained this pointer, since IOThread is
@@ -737,3 +732,8 @@ void IOThread::InitSystemRequestContextOnIOThread() {
sdch_manager_->set_sdch_fetcher(
new SdchDictionaryFetcher(system_url_request_context_getter_.get()));
}
+
+void IOThread::StartTearDown() {
+ globals_->system_proxy_service->StartTearDown();
+}
+

Powered by Google App Engine
This is Rietveld 408576698