| Index: extensions/common/extension.cc
|
| diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
|
| index ada3b31af2313a14ab11e1f4f32d5f5e4d4cb401..aaf58e358b9ff758fe145f5eaf0dcf419806fafe 100644
|
| --- a/extensions/common/extension.cc
|
| +++ b/extensions/common/extension.cc
|
| @@ -27,6 +27,7 @@
|
| #include "extensions/common/manifest.h"
|
| #include "extensions/common/manifest_constants.h"
|
| #include "extensions/common/manifest_handler.h"
|
| +#include "extensions/common/manifest_handlers/permissions_parser.h"
|
| #include "extensions/common/permissions/api_permission_set.h"
|
| #include "extensions/common/permissions/permission_set.h"
|
| #include "extensions/common/permissions/permissions_data.h"
|
| @@ -287,15 +288,15 @@ GURL Extension::GetBaseURLFromExtensionId(const std::string& extension_id) {
|
| }
|
|
|
| bool Extension::HasAPIPermission(APIPermission::ID permission) const {
|
| - return PermissionsData::HasAPIPermission(this, permission);
|
| + return PermissionsData::ForExtension(this)->HasAPIPermission(permission);
|
| }
|
|
|
| bool Extension::HasAPIPermission(const std::string& permission_name) const {
|
| - return PermissionsData::HasAPIPermission(this, permission_name);
|
| + return PermissionsData::ForExtension(this)->HasAPIPermission(permission_name);
|
| }
|
|
|
| scoped_refptr<const PermissionSet> Extension::GetActivePermissions() const {
|
| - return PermissionsData::GetActivePermissions(this);
|
| + return PermissionsData::ForExtension(this)->active_permissions();
|
| }
|
|
|
| bool Extension::ShowConfigureContextMenus() const {
|
| @@ -541,8 +542,8 @@ bool Extension::InitFromValue(int flags, base::string16* error) {
|
| if (is_app() && !LoadAppFeatures(error))
|
| return false;
|
|
|
| - permissions_data_.reset(new PermissionsData);
|
| - if (!permissions_data_->ParsePermissions(this, error))
|
| + permissions_parser_.reset(new PermissionsParser());
|
| + if (!permissions_parser_->Parse(this, error))
|
| return false;
|
|
|
| if (manifest_->HasKey(keys::kConvertedFromUserScript)) {
|
| @@ -553,10 +554,12 @@ bool Extension::InitFromValue(int flags, base::string16* error) {
|
| if (!LoadSharedFeatures(error))
|
| return false;
|
|
|
| + permissions_parser_->Finalize(this);
|
| + permissions_parser_.reset();
|
| +
|
| finished_parsing_manifest_ = true;
|
|
|
| - permissions_data_->InitializeManifestPermissions(this);
|
| - permissions_data_->FinalizePermissions(this);
|
| + permissions_data_.reset(new PermissionsData(this));
|
|
|
| return true;
|
| }
|
|
|