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(); |
} |