Index: chrome/browser/browser_process_impl.cc |
=================================================================== |
--- chrome/browser/browser_process_impl.cc (revision 99284) |
+++ chrome/browser/browser_process_impl.cc (working copy) |
@@ -38,6 +38,7 @@ |
#include "chrome/browser/net/chrome_net_log.h" |
#include "chrome/browser/net/predictor_api.h" |
#include "chrome/browser/net/sdch_dictionary_fetcher.h" |
+#include "chrome/browser/net/spdy_config_service_manager.h" |
#include "chrome/browser/notifications/notification_ui_manager.h" |
#include "chrome/browser/policy/browser_policy_connector.h" |
#include "chrome/browser/prefs/browser_prefs.h" |
@@ -128,6 +129,7 @@ |
#endif |
created_profile_manager_(false), |
created_local_state_(false), |
+ created_spdy_config_service_manager_(false), |
created_icon_manager_(false), |
created_devtools_manager_(false), |
created_sidebar_manager_(false), |
@@ -204,6 +206,10 @@ |
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
NewRunnableFunction(&URLFetcher::CancelAll)); |
+ if (spdy_config_service_manager_.get()) { |
+ spdy_config_service_manager_->Cleanup(); |
+ } |
+ |
// Need to clear profiles (download managers) before the io_thread_. |
profile_manager_.reset(); |
@@ -432,6 +438,13 @@ |
return local_state_.get(); |
} |
+SpdyConfigServiceManager* BrowserProcessImpl::spdy_config_service_manager() { |
+ DCHECK(CalledOnValidThread()); |
+ if (!created_spdy_config_service_manager_) |
+ CreateSpdyConfigServiceManager(); |
+ return spdy_config_service_manager_.get(); |
+} |
+ |
DevToolsManager* BrowserProcessImpl::devtools_manager() { |
DCHECK(CalledOnValidThread()); |
if (!created_devtools_manager_) |
@@ -763,7 +776,8 @@ |
#endif |
scoped_ptr<IOThread> thread(new IOThread( |
- local_state(), net_log_.get(), extension_event_router_forwarder_.get())); |
+ local_state(), spdy_config_service_manager(), |
+ net_log_.get(), extension_event_router_forwarder_.get())); |
base::Thread::Options options; |
options.message_loop_type = MessageLoop::TYPE_IO; |
if (!thread->StartWithOptions(options)) |
@@ -912,6 +926,13 @@ |
ApplyDisabledSchemesPolicy(); |
} |
+void BrowserProcessImpl::CreateSpdyConfigServiceManager() { |
+ DCHECK(!created_spdy_config_service_manager_ && |
+ spdy_config_service_manager_.get() == NULL); |
+ created_spdy_config_service_manager_ = true; |
+ spdy_config_service_manager_ = new SpdyConfigServiceManager(); |
+} |
+ |
void BrowserProcessImpl::CreateIconManager() { |
DCHECK(!created_icon_manager_ && icon_manager_.get() == NULL); |
created_icon_manager_ = true; |