| Index: chrome/browser/profiles/profile_io_data.h
|
| diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h
|
| index 22e381f1a9f61c20bbe2118c0061be7f8702e8f2..65a94f6b17a34114cf390b1a153695cc3d7d67ca 100644
|
| --- a/chrome/browser/profiles/profile_io_data.h
|
| +++ b/chrome/browser/profiles/profile_io_data.h
|
| @@ -82,9 +82,11 @@ class ProfileIOData {
|
| ChromeURLRequestContext* GetExtensionsRequestContext() const;
|
| ChromeURLRequestContext* GetIsolatedAppRequestContext(
|
| ChromeURLRequestContext* main_context,
|
| - const std::string& app_id) const;
|
| + const std::string& app_id,
|
| + scoped_ptr<net::URLRequestJobFactory::Interceptor>
|
| + protocol_handler_interceptor) const;
|
| ChromeURLRequestContext* GetIsolatedMediaRequestContext(
|
| - ChromeURLRequestContext* media_context,
|
| + ChromeURLRequestContext* app_context,
|
| const std::string& app_id) const;
|
|
|
| // These are useful when the Chrome layer is called from the content layer
|
| @@ -146,7 +148,8 @@ class ProfileIOData {
|
| explicit MediaRequestContext(
|
| chrome_browser_net::LoadTimeStats* load_time_stats);
|
|
|
| - void SetHttpTransactionFactory(net::HttpTransactionFactory* http_factory);
|
| + void SetHttpTransactionFactory(
|
| + scoped_ptr<net::HttpTransactionFactory> http_factory);
|
|
|
| private:
|
| virtual ~MediaRequestContext();
|
| @@ -162,13 +165,16 @@ class ProfileIOData {
|
| chrome_browser_net::LoadTimeStats* load_time_stats);
|
|
|
| void SetCookieStore(net::CookieStore* cookie_store);
|
| - void SetHttpTransactionFactory(net::HttpTransactionFactory* http_factory);
|
| + void SetHttpTransactionFactory(
|
| + scoped_ptr<net::HttpTransactionFactory> http_factory);
|
| + void SetJobFactory(scoped_ptr<net::URLRequestJobFactory> job_factory);
|
|
|
| private:
|
| virtual ~AppRequestContext();
|
|
|
| scoped_refptr<net::CookieStore> cookie_store_;
|
| scoped_ptr<net::HttpTransactionFactory> http_factory_;
|
| + scoped_ptr<net::URLRequestJobFactory> job_factory_;
|
| };
|
|
|
| // Created on the UI thread, read on the IO thread during ProfileIOData lazy
|
| @@ -198,7 +204,7 @@ class ProfileIOData {
|
| // the URLRequestJobFactory on the IO thread. The consumer MUST take
|
| // ownership of the object by calling release() on this pointer.
|
| scoped_ptr<net::URLRequestJobFactory::Interceptor>
|
| - protocol_handler_url_interceptor;
|
| + protocol_handler_interceptor;
|
|
|
| // We need to initialize the ProxyConfigService from the UI thread
|
| // because on linux it relies on initializing things through gconf,
|
| @@ -217,7 +223,13 @@ class ProfileIOData {
|
| void InitializeOnUIThread(Profile* profile);
|
| void ApplyProfileParamsToContext(ChromeURLRequestContext* context) const;
|
|
|
| - void SetUpJobFactoryDefaults(net::URLRequestJobFactory* job_factory) const;
|
| + void SetUpJobFactoryDefaults(
|
| + net::URLRequestJobFactory* job_factory,
|
| + scoped_ptr<net::URLRequestJobFactory::Interceptor>
|
| + protocol_handler_interceptor,
|
| + net::NetworkDelegate* network_delegate,
|
| + net::FtpTransactionFactory* ftp_transaction_factory,
|
| + net::FtpAuthCache* ftp_auth_cache) const;
|
|
|
| // Lazy initializes the ProfileIOData object the first time a request context
|
| // is requested. The lazy logic is implemented here. The actual initialization
|
| @@ -309,7 +321,9 @@ class ProfileIOData {
|
| // isolated app.
|
| virtual ChromeURLRequestContext* InitializeAppRequestContext(
|
| ChromeURLRequestContext* main_context,
|
| - const std::string& app_id) const = 0;
|
| + const std::string& app_id,
|
| + scoped_ptr<net::URLRequestJobFactory::Interceptor>
|
| + protocol_handler_interceptor) const = 0;
|
|
|
| // Does an on-demand initialization of a media RequestContext for the given
|
| // isolated app.
|
| @@ -324,7 +338,9 @@ class ProfileIOData {
|
| virtual ChromeURLRequestContext*
|
| AcquireIsolatedAppRequestContext(
|
| ChromeURLRequestContext* main_context,
|
| - const std::string& app_id) const = 0;
|
| + const std::string& app_id,
|
| + scoped_ptr<net::URLRequestJobFactory::Interceptor>
|
| + protocol_handler_interceptor) const = 0;
|
| virtual ChromeURLRequestContext*
|
| AcquireIsolatedMediaRequestContext(
|
| ChromeURLRequestContext* app_context,
|
| @@ -375,6 +391,7 @@ class ProfileIOData {
|
| mutable scoped_ptr<policy::URLBlacklistManager> url_blacklist_manager_;
|
|
|
| // Pointed to by URLRequestContext.
|
| + mutable scoped_refptr<ExtensionInfoMap> extension_info_map_;
|
| mutable scoped_ptr<ChromeURLDataManagerBackend>
|
| chrome_url_data_manager_backend_;
|
| mutable scoped_ptr<net::ServerBoundCertService> server_bound_cert_service_;
|
| @@ -403,7 +420,6 @@ class ProfileIOData {
|
|
|
| mutable scoped_ptr<ResourceContext> resource_context_;
|
|
|
| - mutable scoped_refptr<ExtensionInfoMap> extension_info_map_;
|
| mutable scoped_refptr<CookieSettings> cookie_settings_;
|
|
|
| mutable scoped_ptr<chrome_browser_net::ResourcePrefetchPredictorObserver>
|
|
|