From da3bafd490c9bc000d90237aa3fe3d046e86f0d6 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 13 Aug 2014 17:31:33 +0800 Subject: [PATCH] Pass parameter by pointers when creating job factory. 1. The caller needs to modify protocol_handlers. 2. We need to make sure protocol_handlers and interceptors are not touched if user doesn't create a job factory. --- brightray/browser/browser_context.cc | 4 ++-- brightray/browser/browser_context.h | 4 ++-- brightray/browser/url_request_context_getter.cc | 4 +--- brightray/browser/url_request_context_getter.h | 4 ++-- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/brightray/browser/browser_context.cc b/brightray/browser/browser_context.cc index 0973211e08d8..e9ee4046c231 100644 --- a/brightray/browser/browser_context.cc +++ b/brightray/browser/browser_context.cc @@ -122,8 +122,8 @@ scoped_ptr BrowserContext::CreateNetworkDelegate() { } scoped_ptr BrowserContext::CreateURLRequestJobFactory( - const content::ProtocolHandlerMap& protocol_handlers, - content::ProtocolHandlerScopedVector protocol_interceptors) { + content::ProtocolHandlerMap* protocol_handlers, + content::ProtocolHandlerScopedVector* protocol_interceptors) { return scoped_ptr(); } diff --git a/brightray/browser/browser_context.h b/brightray/browser/browser_context.h index 879bfd7f42ab..fb9c107ed11a 100644 --- a/brightray/browser/browser_context.h +++ b/brightray/browser/browser_context.h @@ -50,8 +50,8 @@ class BrowserContext : public content::BrowserContext { // Subclasses should override this to provide a custom URLRequestJobFactory // implementation. virtual scoped_ptr CreateURLRequestJobFactory( - const content::ProtocolHandlerMap& protocol_handlers, - content::ProtocolHandlerScopedVector protocol_interceptors); + content::ProtocolHandlerMap* protocol_handlers, + content::ProtocolHandlerScopedVector* protocol_interceptors); virtual base::FilePath GetPath() const OVERRIDE; diff --git a/brightray/browser/url_request_context_getter.cc b/brightray/browser/url_request_context_getter.cc index 6a0a90b2432f..8c772c81dd92 100644 --- a/brightray/browser/url_request_context_getter.cc +++ b/brightray/browser/url_request_context_getter.cc @@ -153,11 +153,9 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { // Give user a chance to create their own job factory. scoped_ptr user_job_factory( - job_factory_factory_.Run(protocol_handlers_, protocol_interceptors_.Pass())); + job_factory_factory_.Run(&protocol_handlers_, &protocol_interceptors_)); if (user_job_factory) { storage_->set_job_factory(user_job_factory.release()); - protocol_handlers_.clear(); - protocol_interceptors_.weak_clear(); return url_request_context_.get(); } diff --git a/brightray/browser/url_request_context_getter.h b/brightray/browser/url_request_context_getter.h index e043beb4cfcb..716b7e00b75e 100644 --- a/brightray/browser/url_request_context_getter.h +++ b/brightray/browser/url_request_context_getter.h @@ -26,8 +26,8 @@ namespace brightray { class NetworkDelegate; typedef base::Callback( - const content::ProtocolHandlerMap& protocol_handlers, - content::ProtocolHandlerScopedVector protocol_interceptors)> URLRequestJobFactoryFactory; + content::ProtocolHandlerMap* protocol_handlers, + content::ProtocolHandlerScopedVector* protocol_interceptors)> URLRequestJobFactoryFactory; class URLRequestContextGetter : public net::URLRequestContextGetter { public: