| 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..e131ee4def1b67492c3bd158a75f547935787a81 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(
|
| + 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.
|
| @@ -341,7 +356,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 +374,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 +397,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,
|
|
|