Make platform apps get isolated storage by default.

Also centralizes the checks for when isolated storage is applicable to happen
in Extension::LoadAppIsolation, so that Extension::is_storage_isolated()
don't have to check for the experimental permission anymore.

[email protected]


Review URL: http://codereview.chromium.org/10349015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135269 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index 12422b9..4be5b3aa 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -677,7 +677,7 @@
   bool is_platform_app() const;
   bool is_hosted_app() const;
   bool is_packaged_app() const;
-  bool is_storage_isolated() const { return is_app() && is_storage_isolated_; }
+  bool is_storage_isolated() const { return is_storage_isolated_; }
   const URLPatternSet& web_extent() const { return extent_; }
   const std::string& launch_local_path() const { return launch_local_path_; }
   const std::string& launch_web_url() const { return launch_web_url_; }
@@ -751,7 +751,8 @@
   // extension from the manifest.
 
   bool CheckMinimumChromeVersion(string16* error);
-  bool LoadAppIsolation(string16* error);
+  bool LoadAppIsolation(const ExtensionAPIPermissionSet& api_permissions,
+                        string16* error);
 
   bool LoadRequiredFeatures(string16* error);
   bool LoadName(string16* error);