Index: chrome/browser/profiles/profile_impl_io_data.cc |
diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc |
index faba3535fa634f92fc430102620364147e664686..fae95a12658b05128158e4043b0875c06d3b9eea 100644 |
--- a/chrome/browser/profiles/profile_impl_io_data.cc |
+++ b/chrome/browser/profiles/profile_impl_io_data.cc |
@@ -443,10 +443,12 @@ void ProfileImplIOData::LazyInitializeInternal( |
main_context->set_chrome_url_data_manager_backend( |
chrome_url_data_manager_backend()); |
- main_job_factory_.reset(new net::URLRequestJobFactoryImpl); |
- extensions_job_factory_.reset(new net::URLRequestJobFactoryImpl); |
+ scoped_ptr<net::URLRequestJobFactoryImpl> main_job_factory( |
+ new net::URLRequestJobFactoryImpl()); |
+ scoped_ptr<net::URLRequestJobFactoryImpl> extensions_job_factory( |
+ new net::URLRequestJobFactoryImpl()); |
- SetUpJobFactory(main_job_factory_.get(), |
+ SetUpJobFactory(main_job_factory.get(), |
profile_params->protocol_handler_interceptor.Pass(), |
network_delegate(), |
main_context->ftp_transaction_factory(), |
@@ -457,13 +459,15 @@ void ProfileImplIOData::LazyInitializeInternal( |
// job_factory::IsHandledProtocol return true, which prevents attempts to |
// handle the protocol externally. We pass NULL in to |
// SetUpJobFactory() to get this effect. |
- SetUpJobFactory(extensions_job_factory_.get(), |
+ SetUpJobFactory(extensions_job_factory.get(), |
scoped_ptr<net::URLRequestJobFactoryImpl::Interceptor>(NULL), |
NULL, |
extensions_context->ftp_transaction_factory(), |
extensions_context->ftp_auth_cache()); |
+ main_job_factory_ = main_job_factory.Pass(); |
main_context->set_job_factory(main_job_factory_.get()); |
+ extensions_job_factory_ = extensions_job_factory.Pass(); |
extensions_context->set_job_factory(extensions_job_factory_.get()); |
// Create a media request context based on the main context, but using a |
@@ -550,13 +554,13 @@ ProfileImplIOData::InitializeAppRequestContext( |
// Overwrite the job factory that we inherit from the main context so |
// that we can later provide our own handles for storage related protocols. |
- scoped_ptr<net::URLRequestJobFactory> job_factory( |
+ scoped_ptr<net::URLRequestJobFactoryImpl> job_factory( |
new net::URLRequestJobFactoryImpl()); |
SetUpJobFactory(job_factory.get(), protocol_handler_interceptor.Pass(), |
network_delegate(), |
context->ftp_transaction_factory(), |
context->ftp_auth_cache()); |
- context->SetJobFactory(job_factory.Pass()); |
+ context->SetJobFactory(job_factory.PassAs<net::URLRequestJobFactory>()); |
return context; |
} |
@@ -648,7 +652,7 @@ chrome_browser_net::LoadTimeStats* ProfileImplIOData::GetLoadTimeStats( |
} |
void ProfileImplIOData::SetUpJobFactory( |
- net::URLRequestJobFactory* job_factory, |
+ net::URLRequestJobFactoryImpl* job_factory, |
scoped_ptr<net::URLRequestJobFactory::Interceptor> |
protocol_handler_interceptor, |
net::NetworkDelegate* network_delegate, |