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 63ed3ac4ffa0fa412e7af19dc48e029338d6566e..468edf0cf2e2759873af6c658c7db7db9a6844a5 100644 |
--- a/chrome/browser/profiles/profile_io_data.h |
+++ b/chrome/browser/profiles/profile_io_data.h |
@@ -56,12 +56,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 Extension* installed_app) const; |
protected: |
friend class base::RefCountedThreadSafe<ProfileIOData>; |
@@ -138,10 +141,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 Extension *app) const = 0; |
+ |
// These functions are used to transfer ownership of the lazily initialized |
// context from ProfileIOData to the URLRequestContextGetter. |
virtual scoped_refptr<ChromeURLRequestContext> |
@@ -150,6 +159,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 Extension* installed_app) const = 0; |
mutable bool initialized_; |