Index: ios/crnet/crnet_environment.mm |
diff --git a/ios/crnet/crnet_environment.mm b/ios/crnet/crnet_environment.mm |
index 4666593a8e96b9adc932c54538b1ff8a54b96a33..8e16b06bb32a7b695e0e2ed114cc61acdd5f7a6f 100644 |
--- a/ios/crnet/crnet_environment.mm |
+++ b/ios/crnet/crnet_environment.mm |
@@ -480,8 +480,9 @@ void CrNetEnvironment::InitializeOnNetworkThread() { |
[NSHTTPCookieStorage sharedHTTPCookieStorage]); |
main_context_->set_cookie_store(cookie_store_.get()); |
- net::URLRequestJobFactoryImpl* job_factory = |
- new net::URLRequestJobFactoryImpl; |
+ // TODO(mgersh): Fix this leak too. See https://crbug.com/523858 |
+ std::unique_ptr<net::URLRequestJobFactoryImpl> job_factory = |
+ net::URLRequestJobFactoryImpl::CreateWithHttpProtocolHandlers(); |
job_factory->SetProtocolHandler( |
"data", base::WrapUnique(new net::DataProtocolHandler)); |
#if !defined(DISABLE_FILE_SUPPORT) |
@@ -489,8 +490,7 @@ void CrNetEnvironment::InitializeOnNetworkThread() { |
"file", |
base::MakeUnique<net::FileProtocolHandler>(file_thread_->task_runner())); |
#endif // !defined(DISABLE_FILE_SUPPORT) |
- main_context_->set_job_factory(job_factory); |
- |
+ main_context_->set_job_factory(job_factory.release()); |
main_context_->set_net_log(net_log_.get()); |
} |