Index: chrome/common/extensions/permissions/permissions_data.cc |
diff --git a/chrome/common/extensions/permissions/permissions_data.cc b/chrome/common/extensions/permissions/permissions_data.cc |
index 9c0891a6b3ed97ccba97a896d2c8c8a37d8a1c7d..4cb058a67f6229eaf61d6592d59fe7bda2b6efc0 100644 |
--- a/chrome/common/extensions/permissions/permissions_data.cc |
+++ b/chrome/common/extensions/permissions/permissions_data.cc |
@@ -21,7 +21,7 @@ |
#include "extensions/common/features/feature_provider.h" |
#include "extensions/common/manifest.h" |
#include "extensions/common/manifest_constants.h" |
-#include "extensions/common/manifest_constants.h" |
+#include "extensions/common/manifest_handler.h" |
#include "extensions/common/permissions/api_permission_set.h" |
#include "extensions/common/permissions/permission_message_provider.h" |
#include "extensions/common/permissions/permission_set.h" |
@@ -246,6 +246,7 @@ bool IsTrustedId(const std::string& extension_id) { |
struct PermissionsData::InitialPermissions { |
APIPermissionSet api_permissions; |
+ ManifestPermissionSet manifest_permissions; |
URLPatternSet host_permissions; |
URLPatternSet scriptable_hosts; |
}; |
@@ -604,19 +605,27 @@ bool PermissionsData::ParsePermissions(Extension* extension, string16* error) { |
return true; |
} |
+void PermissionsData::InitializeManifestPermissions(Extension* extension) { |
+ ManifestHandler::AddExtensionRequiredPermissions( |
+ extension, &initial_required_permissions_->manifest_permissions); |
+} |
+ |
void PermissionsData::FinalizePermissions(Extension* extension) { |
active_permissions_ = new PermissionSet( |
initial_required_permissions_->api_permissions, |
+ initial_required_permissions_->manifest_permissions, |
initial_required_permissions_->host_permissions, |
initial_required_permissions_->scriptable_hosts); |
required_permission_set_ = new PermissionSet( |
initial_required_permissions_->api_permissions, |
+ initial_required_permissions_->manifest_permissions, |
initial_required_permissions_->host_permissions, |
initial_required_permissions_->scriptable_hosts); |
optional_permission_set_ = new PermissionSet( |
initial_optional_permissions_->api_permissions, |
+ initial_optional_permissions_->manifest_permissions, |
initial_optional_permissions_->host_permissions, |
URLPatternSet()); |