| Index: android_webview/browser/net/aw_url_request_context_getter.cc
 | 
| diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc
 | 
| index 1b7177b641a846cb6198c2bd460a835ab24a48ec..9e7b8b0eaa0a688d12e264e163b0d037a46ab9fb 100644
 | 
| --- a/android_webview/browser/net/aw_url_request_context_getter.cc
 | 
| +++ b/android_webview/browser/net/aw_url_request_context_getter.cc
 | 
| @@ -106,23 +106,22 @@ net::URLRequestContext* AwURLRequestContextGetter::GetURLRequestContext() {
 | 
|      set_protocol = job_factory->SetProtocolHandler(
 | 
|          chrome::kDataScheme, new net::DataProtocolHandler());
 | 
|      DCHECK(set_protocol);
 | 
| -    DCHECK(blob_protocol_handler_);
 | 
|      set_protocol = job_factory->SetProtocolHandler(
 | 
| -        chrome::kBlobScheme, blob_protocol_handler_.release());
 | 
| +        chrome::kBlobScheme, protocol_handlers_[chrome::kBlobScheme].release());
 | 
|      DCHECK(set_protocol);
 | 
| -    DCHECK(file_system_protocol_handler_);
 | 
|      set_protocol = job_factory->SetProtocolHandler(
 | 
| -        chrome::kFileSystemScheme, file_system_protocol_handler_.release());
 | 
| +        chrome::kFileSystemScheme,
 | 
| +        protocol_handlers_[chrome::kFileSystemScheme].release());
 | 
|      DCHECK(set_protocol);
 | 
| -    DCHECK(chrome_protocol_handler_);
 | 
|      set_protocol = job_factory->SetProtocolHandler(
 | 
| -        chrome::kChromeUIScheme, chrome_protocol_handler_.release());
 | 
| +        chrome::kChromeUIScheme,
 | 
| +        protocol_handlers_[chrome::kChromeUIScheme].release());
 | 
|      DCHECK(set_protocol);
 | 
| -    DCHECK(chrome_devtools_protocol_handler_);
 | 
|      set_protocol = job_factory->SetProtocolHandler(
 | 
|          chrome::kChromeDevToolsScheme,
 | 
| -        chrome_devtools_protocol_handler_.release());
 | 
| +        protocol_handlers_[chrome::kChromeDevToolsScheme].release());
 | 
|      DCHECK(set_protocol);
 | 
| +    protocol_handlers_.clear();
 | 
|      // Create a chain of URLRequestJobFactories.  Keep |job_factory_| pointed
 | 
|      // at the beginning of the chain.
 | 
|      job_factory_ = CreateAndroidJobFactory(job_factory.Pass());
 | 
| @@ -130,9 +129,6 @@ net::URLRequestContext* AwURLRequestContextGetter::GetURLRequestContext() {
 | 
|          job_factory_.Pass(),
 | 
|          scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>(
 | 
|              new AwRequestInterceptor())));
 | 
| -    job_factory_.reset(new net::ProtocolInterceptJobFactory(
 | 
| -        job_factory_.Pass(),
 | 
| -        developer_protocol_handler_.Pass()));
 | 
|      url_request_context_->set_job_factory(job_factory_.get());
 | 
|    }
 | 
|    return url_request_context_.get();
 | 
| @@ -144,21 +140,8 @@ AwURLRequestContextGetter::GetNetworkTaskRunner() const {
 | 
|  }
 | 
|  
 | 
|  void AwURLRequestContextGetter::SetProtocolHandlers(
 | 
| -    scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
 | 
| -        blob_protocol_handler,
 | 
| -    scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
 | 
| -        file_system_protocol_handler,
 | 
| -    scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
 | 
| -        developer_protocol_handler,
 | 
| -    scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
 | 
| -        chrome_protocol_handler,
 | 
| -    scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
 | 
| -        chrome_devtools_protocol_handler) {
 | 
| -  blob_protocol_handler_ = blob_protocol_handler.Pass();
 | 
| -  file_system_protocol_handler_ = file_system_protocol_handler.Pass();
 | 
| -  developer_protocol_handler_ = developer_protocol_handler.Pass();
 | 
| -  chrome_protocol_handler_ = chrome_protocol_handler.Pass();
 | 
| -  chrome_devtools_protocol_handler_ = chrome_devtools_protocol_handler.Pass();
 | 
| +    content::ProtocolHandlerMap* protocol_handlers) {
 | 
| +  std::swap(protocol_handlers_, *protocol_handlers);
 | 
|  }
 | 
|  
 | 
|  }  // namespace android_webview
 | 
| 
 |