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

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

Issue 11308362: Add StoragePartition's ProtocolHandlers at URLRequestContext construction time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move ShellResourceContext into .cc file Created 8 years 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
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 0fa35ba64e95cf5ff7ea86bcf123549be1ab9a3c..d38659dcbedd7085fb0a1a46368d8fdceb1e2342 100644
--- a/chrome/browser/profiles/profile_io_data.h
+++ b/chrome/browser/profiles/profile_io_data.h
@@ -81,14 +81,31 @@ class ProfileIOData {
// These should only be called at most once each. Ownership is reversed when
// they get called, from ProfileIOData owning ChromeURLRequestContext to vice
// versa.
- ChromeURLRequestContext* GetMainRequestContext() const;
+
+ // Lazy initializes the ProfileIOData object the first time a request context
+ // is requested. The lazy logic is implemented here. The actual initialization
+ // is done in LazyInitializeInternal(), implemented by subtypes. Static helper
+ // functions have been provided to assist in common operations.
+ ChromeURLRequestContext* GetMainRequestContext(
awong 2012/12/12 03:44:37 Should this be Init()? GetMainRequestContext() im
pauljensen 2012/12/12 18:39:37 I agree it should be Init(). Done.
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) const;
ChromeURLRequestContext* GetMediaRequestContext() const;
ChromeURLRequestContext* GetExtensionsRequestContext() const;
ChromeURLRequestContext* GetIsolatedAppRequestContext(
ChromeURLRequestContext* main_context,
const StoragePartitionDescriptor& partition_descriptor,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
- protocol_handler_interceptor) const;
+ protocol_handler_interceptor,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) const;
ChromeURLRequestContext* GetIsolatedMediaRequestContext(
ChromeURLRequestContext* app_context,
const StoragePartitionDescriptor& partition_descriptor) const;
@@ -249,12 +266,6 @@ class ProfileIOData {
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
- // is done in LazyInitializeInternal(), implemented by subtypes. Static helper
- // functions have been provided to assist in common operations.
- void LazyInitialize() const;
-
// Called when the profile is destroyed.
void ShutdownOnUIThread();
@@ -294,6 +305,10 @@ class ProfileIOData {
return load_time_stats_;
}
+ bool initialized() const {
+ return initialized_;
+ }
+
// Destroys the ResourceContext first, to cancel any URLRequests that are
// using it still, before we destroy the member variables that those
// URLRequests may be accessing.
@@ -322,8 +337,6 @@ class ProfileIOData {
private:
friend class ProfileIOData;
- void EnsureInitialized();
-
ProfileIOData* const io_data_;
net::HostResolver* host_resolver_;
@@ -341,7 +354,14 @@ class ProfileIOData {
// Does the actual initialization of the ProfileIOData subtype. Subtypes
// should use the static helper functions above to implement this.
- virtual void LazyInitializeInternal(ProfileParams* profile_params) const = 0;
+ virtual void LazyInitializeInternal(
+ ProfileParams* profile_params,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) const = 0;
// Initializes the RequestContext for extensions.
virtual void InitializeExtensionsRequestContext(
@@ -352,7 +372,13 @@ class ProfileIOData {
ChromeURLRequestContext* main_context,
const StoragePartitionDescriptor& details,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
- protocol_handler_interceptor) const = 0;
+ protocol_handler_interceptor,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) const = 0;
// Does an on-demand initialization of a media RequestContext for the given
// isolated app.
@@ -369,7 +395,13 @@ class ProfileIOData {
ChromeURLRequestContext* main_context,
const StoragePartitionDescriptor& partition_descriptor,
scoped_ptr<net::URLRequestJobFactory::Interceptor>
- protocol_handler_interceptor) const = 0;
+ protocol_handler_interceptor,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ blob_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::ProtocolHandler>
+ file_system_protocol_handler,
+ scoped_ptr<net::URLRequestJobFactory::Interceptor>
+ developer_protocol_handler) const = 0;
virtual ChromeURLRequestContext*
AcquireIsolatedMediaRequestContext(
ChromeURLRequestContext* app_context,

Powered by Google App Engine
This is Rietveld 408576698