Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5138)

Unified Diff: chrome/common/extensions/extension.cc

Issue 10349015: Make platform apps get isolated storage by default. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/extension.cc
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc
index c26f225f585f046f4ccdedca419c85d46b7ed19c..4559943dc2139d55b1fcabbef995e92ee8488419 100644
--- a/chrome/common/extensions/extension.cc
+++ b/chrome/common/extensions/extension.cc
@@ -2693,7 +2693,21 @@ bool Extension::LoadContentSecurityPolicy(string16* error) {
return true;
}
-bool Extension::LoadAppIsolation(string16* error) {
+bool Extension::LoadAppIsolation(
+ const ExtensionAPIPermissionSet& api_permissions, string16* error) {
+ // Platform apps always get isolated storage.
+ if (is_platform_app()) {
+ is_storage_isolated_ = true;
+ return true;
+ }
+
+ // Other apps only get it if it is requested _and_ experimental APIs are
+ // enabled.
+ if (!api_permissions.count(ExtensionAPIPermission::kExperimental) ||
+ !is_app()) {
+ return true;
+ }
+
Value* temp = NULL;
if (!manifest_->Get(keys::kIsolation, &temp))
return true;
@@ -3080,9 +3094,7 @@ bool Extension::InitFromValue(int flags, string16* error) {
return false;
}
- // App isolation.
- if (api_permissions.count(ExtensionAPIPermission::kExperimental) &&
- is_app() && !LoadAppIsolation(error))
+ if (!LoadAppIsolation(api_permissions, error))
return false;
if (!LoadSharedFeatures(api_permissions, error))

Powered by Google App Engine
This is Rietveld 408576698