Index: chrome/common/extensions/permissions/api_permission_set.cc |
diff --git a/chrome/common/extensions/permissions/api_permission_set.cc b/chrome/common/extensions/permissions/api_permission_set.cc |
index fd28f55e7c1efa2be79454923b26c706d8385a79..09a9f3cec034b4e992eb558c3ee021b3c3951451 100644 |
--- a/chrome/common/extensions/permissions/api_permission_set.cc |
+++ b/chrome/common/extensions/permissions/api_permission_set.cc |
@@ -33,7 +33,14 @@ bool CreateAPIPermission( |
if (permission_info) { |
scoped_ptr<APIPermission> permission( |
permission_info->CreateAPIPermission()); |
- if (!permission->FromValue(permission_value)) { |
+ if (permission->ManifestEntryForbidden()) { |
+ if (error) { |
+ *error = ErrorUtils::FormatErrorMessageUTF16( |
+ errors::kPermissionNotAllowedInManifest, permission_info->name()); |
+ return false; |
+ } |
+ LOG(WARNING) << "Permission not allowed in manifest."; |
+ } else if (!permission->FromValue(permission_value)) { |
if (error) { |
*error = ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidPermission, permission_info->name()); |