Chromium Code Reviews| 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..98ba4b641da04728a9cf48edfc37a858330461b5 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 |
| @@ -228,6 +240,10 @@ class ProfileIOData { |
| // Called when the profile is destroyed. |
| void ShutdownOnUIThread(); |
| + ExtensionInfoMap* extension_info_map() const { |
| + return extension_info_map_; |
| + } |
|
Charlie Reis
2012/09/20 22:57:46
Remove.
awong
2012/09/20 23:16:46
Done.
|
| + |
| ChromeURLDataManagerBackend* chrome_url_data_manager_backend() const { |
| return chrome_url_data_manager_backend_.get(); |
| } |
| @@ -309,7 +325,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 +342,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 +395,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 +424,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> |