Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3712)

Unified Diff: extensions/common/extension.cc

Issue 309533007: Refactor PermissionsData pt1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Latest master Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/common/extension.h ('k') | extensions/common/extension_messages.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « extensions/common/extension.h ('k') | extensions/common/extension_messages.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698