| 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 705ca3aedd434619ce023c9e49fa8ef990e8950f..3a2bcd517b82a6534c89c9b669f4e24c6fbe9339 100644
|
| --- a/chrome/browser/profiles/profile_io_data.h
|
| +++ b/chrome/browser/profiles/profile_io_data.h
|
| @@ -57,12 +57,15 @@ class DatabaseTracker;
|
| // accessor.
|
| class ProfileIOData : public base::RefCountedThreadSafe<ProfileIOData> {
|
| public:
|
| - // These should only be called at most once each. Ownership is reversed they
|
| - // get called, from ProfileIOData owning ChromeURLRequestContext to vice
|
| + // These should only be called at most once each. Ownership is reversed when
|
| + // they get called, from ProfileIOData owning ChromeURLRequestContext to vice
|
| // versa.
|
| scoped_refptr<ChromeURLRequestContext> GetMainRequestContext() const;
|
| scoped_refptr<ChromeURLRequestContext> GetMediaRequestContext() const;
|
| scoped_refptr<ChromeURLRequestContext> GetExtensionsRequestContext() const;
|
| + scoped_refptr<ChromeURLRequestContext> GetIsolatedAppRequestContext(
|
| + scoped_refptr<ChromeURLRequestContext> main_context,
|
| + const std::string& app_id) const;
|
|
|
| protected:
|
| friend class base::RefCountedThreadSafe<ProfileIOData>;
|
| @@ -139,10 +142,16 @@ class ProfileIOData : public base::RefCountedThreadSafe<ProfileIOData> {
|
| // Virtual interface for subtypes to implement:
|
| // --------------------------------------------
|
|
|
| - // Does that actual initialization of the ProfileIOData subtype. Subtypes
|
| + // Does the actual initialization of the ProfileIOData subtype. Subtypes
|
| // should use the static helper functions above to implement this.
|
| virtual void LazyInitializeInternal() const = 0;
|
|
|
| + // Does an on-demand initialization of a RequestContext for the given
|
| + // isolated app.
|
| + virtual scoped_refptr<RequestContext> InitializeAppRequestContext(
|
| + scoped_refptr<ChromeURLRequestContext> main_context,
|
| + const std::string& app_id) const = 0;
|
| +
|
| // These functions are used to transfer ownership of the lazily initialized
|
| // context from ProfileIOData to the URLRequestContextGetter.
|
| virtual scoped_refptr<ChromeURLRequestContext>
|
| @@ -151,6 +160,10 @@ class ProfileIOData : public base::RefCountedThreadSafe<ProfileIOData> {
|
| AcquireMediaRequestContext() const = 0;
|
| virtual scoped_refptr<ChromeURLRequestContext>
|
| AcquireExtensionsRequestContext() const = 0;
|
| + virtual scoped_refptr<ChromeURLRequestContext>
|
| + AcquireIsolatedAppRequestContext(
|
| + scoped_refptr<ChromeURLRequestContext> main_context,
|
| + const std::string& app_id) const = 0;
|
|
|
| mutable bool initialized_;
|
|
|
|
|