| Index: chrome/browser/profiles/profile.cc | 
| diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc | 
| index 348ad087af959320ec31581286f67d0f339e05d5..0fca87c7d63bb0d8593b5ca72d49b64305c868aa 100644 | 
| --- a/chrome/browser/profiles/profile.cc | 
| +++ b/chrome/browser/profiles/profile.cc | 
| @@ -35,6 +35,7 @@ | 
| #include "chrome/common/chrome_constants.h" | 
| #include "chrome/common/chrome_paths.h" | 
| #include "chrome/common/chrome_switches.h" | 
| +#include "chrome/common/extensions/extension.h" | 
| #include "chrome/common/json_pref_store.h" | 
| #include "chrome/common/notification_service.h" | 
| #include "chrome/common/pref_names.h" | 
| @@ -423,6 +424,17 @@ class OffTheRecordProfileImpl : public Profile, | 
| return io_data_.GetMainRequestContextGetter(); | 
| } | 
|  | 
| +  virtual URLRequestContextGetter* GetRequestContextForPossibleApp( | 
| +      const Extension* app) { | 
| +    if (CommandLine::ForCurrentProcess()->HasSwitch( | 
| +            switches::kEnableExperimentalAppManifests) && | 
| +        app != NULL && | 
| +        app->is_storage_isolated()) | 
| +      return GetRequestContextForIsolatedApp(app); | 
| + | 
| +    return GetRequestContext(); | 
| +  } | 
| + | 
| virtual URLRequestContextGetter* GetRequestContextForMedia() { | 
| // In OTR mode, media request context is the same as the original one. | 
| return io_data_.GetMainRequestContextGetter(); | 
| @@ -432,6 +444,13 @@ class OffTheRecordProfileImpl : public Profile, | 
| return io_data_.GetExtensionsRequestContextGetter(); | 
| } | 
|  | 
| +  URLRequestContextGetter* GetRequestContextForIsolatedApp( | 
| +      const Extension* installed_app) { | 
| +    // Initialize the app context IO data on demand. | 
| +    io_data_.InitIsolatedApp(installed_app); | 
| +    return io_data_.GetIsolatedAppRequestContextGetter(installed_app); | 
| +  } | 
| + | 
| virtual net::SSLConfigService* GetSSLConfigService() { | 
| return profile_->GetSSLConfigService(); | 
| } | 
|  |