Index: chrome/browser/extensions/extension_special_storage_policy.cc |
diff --git a/chrome/browser/extensions/extension_special_storage_policy.cc b/chrome/browser/extensions/extension_special_storage_policy.cc |
index 219e8ecc990730ba639b72fb3c668ffc78e24ce7..57c91fb6e8b87265598adaff2ad623c1a8bc7b7d 100644 |
--- a/chrome/browser/extensions/extension_special_storage_policy.cc |
+++ b/chrome/browser/extensions/extension_special_storage_policy.cc |
@@ -20,6 +20,7 @@ |
#include "extensions/common/constants.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/extension_set.h" |
+#include "extensions/common/permissions/permissions_data.h" |
using content::BrowserThread; |
using extensions::APIPermission; |
@@ -103,8 +104,10 @@ void ExtensionSpecialStoragePolicy::GrantRightsForExtension( |
const extensions::Extension* extension) { |
DCHECK(extension); |
if (!(NeedsProtection(extension) || |
- extension->HasAPIPermission(APIPermission::kUnlimitedStorage) || |
- extension->HasAPIPermission(APIPermission::kFileBrowserHandler) || |
+ extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kUnlimitedStorage) || |
+ extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kFileBrowserHandler) || |
extensions::AppIsolationInfo::HasIsolatedStorage(extension) || |
extension->is_app())) { |
return; |
@@ -119,11 +122,13 @@ void ExtensionSpecialStoragePolicy::GrantRightsForExtension( |
if (extension->is_app()) |
installed_apps_.Add(extension); |
- if (extension->HasAPIPermission(APIPermission::kUnlimitedStorage) && |
+ if (extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kUnlimitedStorage) && |
unlimited_extensions_.Add(extension)) |
change_flags |= SpecialStoragePolicy::STORAGE_UNLIMITED; |
- if (extension->HasAPIPermission(APIPermission::kFileBrowserHandler)) |
+ if (extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kFileBrowserHandler)) |
file_handler_extensions_.Add(extension); |
if (extensions::AppIsolationInfo::HasIsolatedStorage(extension)) |
@@ -140,8 +145,10 @@ void ExtensionSpecialStoragePolicy::RevokeRightsForExtension( |
const extensions::Extension* extension) { |
DCHECK(extension); |
if (!(NeedsProtection(extension) || |
- extension->HasAPIPermission(APIPermission::kUnlimitedStorage) || |
- extension->HasAPIPermission(APIPermission::kFileBrowserHandler) || |
+ extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kUnlimitedStorage) || |
+ extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kFileBrowserHandler) || |
extensions::AppIsolationInfo::HasIsolatedStorage(extension) || |
extension->is_app())) { |
return; |
@@ -155,11 +162,13 @@ void ExtensionSpecialStoragePolicy::RevokeRightsForExtension( |
if (extension->is_app()) |
installed_apps_.Remove(extension); |
- if (extension->HasAPIPermission(APIPermission::kUnlimitedStorage) && |
+ if (extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kUnlimitedStorage) && |
unlimited_extensions_.Remove(extension)) |
change_flags |= SpecialStoragePolicy::STORAGE_UNLIMITED; |
- if (extension->HasAPIPermission(APIPermission::kFileBrowserHandler)) |
+ if (extension->permissions_data()->HasAPIPermission( |
+ APIPermission::kFileBrowserHandler)) |
file_handler_extensions_.Remove(extension); |
if (extensions::AppIsolationInfo::HasIsolatedStorage(extension)) |