| 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 ce651912ffc616d43f2f85009eecce07e4494477..5162d3780535d4ad822c8755ef3466c87c384bff 100644 | 
| --- a/chrome/browser/profiles/profile_io_data.h | 
| +++ b/chrome/browser/profiles/profile_io_data.h | 
| @@ -57,12 +57,14 @@ 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( | 
| +      const Extension* installed_app) const; | 
|  | 
| protected: | 
| friend class base::RefCountedThreadSafe<ProfileIOData>; | 
| @@ -138,10 +140,15 @@ 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(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 +157,9 @@ class ProfileIOData : public base::RefCountedThreadSafe<ProfileIOData> { | 
| AcquireMediaRequestContext() const = 0; | 
| virtual scoped_refptr<ChromeURLRequestContext> | 
| AcquireExtensionsRequestContext() const = 0; | 
| +  virtual scoped_refptr<ChromeURLRequestContext> | 
| +      AcquireIsolatedAppRequestContext( | 
| +          const Extension* installed_app) const = 0; | 
|  | 
| mutable bool initialized_; | 
|  | 
|  |