Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(585)

Unified Diff: chrome/browser/profiles/profile_io_data.h

Issue 10969017: Create a new URLRequestJobFactory for isolated request contexts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix ordering Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/profiles/profile_impl_io_data.cc ('k') | chrome/browser/profiles/profile_io_data.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
« no previous file with comments | « chrome/browser/profiles/profile_impl_io_data.cc ('k') | chrome/browser/profiles/profile_io_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698