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 961d71922f10e321989928de7b69cefc738e830b..e023712d50923dee81e56b638cdf0d011e36721d 100644 |
--- a/chrome/common/extensions/permissions/permissions_data.cc |
+++ b/chrome/common/extensions/permissions/permissions_data.cc |
@@ -12,6 +12,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "base/values.h" |
#include "chrome/common/extensions/extension.h" |
+#include "chrome/common/extensions/extension_constants.h" |
#include "content/public/common/url_constants.h" |
#include "extensions/common/constants.h" |
#include "extensions/common/error_utils.h" |
@@ -20,6 +21,7 @@ |
#include "extensions/common/features/feature_provider.h" |
#include "extensions/common/manifest.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" |
@@ -244,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; |
}; |
@@ -593,19 +596,27 @@ bool PermissionsData::ParsePermissions(Extension* extension, string16* error) { |
return true; |
} |
+void PermissionsData::InitializeManifestPermissions(Extension* extension) { |
+ ManifestHandler::AddExtensionInitialRequiredPermissions( |
+ 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()); |