diff options
author | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-04 09:04:37 +0000 |
---|---|---|
committer | yoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-04 09:04:37 +0000 |
commit | e676f8f0050863331707210c9457162e03563ce3 (patch) | |
tree | 604fb9098821831debfe19c5044c2f19106e53c6 /chrome/common/extensions/permissions/api_permission_set.cc | |
parent | 56b7e39f89c80273f23b4a0fe5aaa14431d16745 (diff) | |
download | chromium_src-e676f8f0050863331707210c9457162e03563ce3.zip chromium_src-e676f8f0050863331707210c9457162e03563ce3.tar.gz chromium_src-e676f8f0050863331707210c9457162e03563ce3.tar.bz2 |
Refactor APIPermission to separate out specific permission registration.
Adds a delegate to the PermissionsInfo global to do the specific registration; adds a ScopedTestingPermissionsInfo for unit tests.
Preparation for moving permissions to top-level extensions.
Also adds a base class for unittests, ExtensionTest, to deal with manifest handler / permission setup.
BUG=162530,172712
Review URL: https://chromiumcodereview.appspot.com/13370002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192252 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/permissions/api_permission_set.cc')
-rw-r--r-- | chrome/common/extensions/permissions/api_permission_set.cc | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/chrome/common/extensions/permissions/api_permission_set.cc b/chrome/common/extensions/permissions/api_permission_set.cc index 62d76ae..3934b90 100644 --- a/chrome/common/extensions/permissions/api_permission_set.cc +++ b/chrome/common/extensions/permissions/api_permission_set.cc @@ -15,11 +15,11 @@ namespace errors = extension_manifest_errors; namespace { -using extensions::PermissionsInfo; using extensions::APIPermission; using extensions::APIPermissionInfo; using extensions::APIPermissionSet; using extensions::ErrorUtils; +using extensions::PermissionsInfo; bool CreateAPIPermission( const std::string& permission_str, @@ -27,9 +27,9 @@ bool CreateAPIPermission( APIPermissionSet* api_permissions, string16* error, std::vector<std::string>* unhandled_permissions) { - PermissionsInfo* info = PermissionsInfo::GetInstance(); - const APIPermissionInfo* permission_info = info->GetByName(permission_str); + const APIPermissionInfo* permission_info = + PermissionsInfo::GetInstance()->GetByName(permission_str); if (permission_info) { scoped_ptr<APIPermission> permission( permission_info->CreateAPIPermission()); @@ -55,10 +55,10 @@ bool CreateAPIPermission( } bool ParseChildPermissions(const std::string& base_name, - const Value* permission_value, - APIPermissionSet* api_permissions, - string16* error, - std::vector<std::string>* unhandled_permissions) { + const Value* permission_value, + APIPermissionSet* api_permissions, + string16* error, + std::vector<std::string>* unhandled_permissions) { if (permission_value) { const ListValue* permissions; if (!permission_value->GetAsList(&permissions)) { @@ -88,7 +88,7 @@ bool ParseChildPermissions(const std::string& base_name, } if (!CreateAPIPermission(base_name + '.' + permission_str, NULL, - api_permissions, error, unhandled_permissions)) + api_permissions, error, unhandled_permissions)) return false; } } @@ -147,12 +147,11 @@ bool APIPermissionSet::operator==(const APIPermissionSet& rhs) const { void APIPermissionSet::insert(APIPermission::ID id) { const APIPermissionInfo* permission_info = - PermissionsInfo::GetInstance()->GetByID(id); + PermissionsInfo::GetInstance()->GetByID(id); insert(permission_info->CreateAPIPermission()); } -void APIPermissionSet::insert( - APIPermission* permission) { +void APIPermissionSet::insert(APIPermission* permission) { map_[permission->id()].reset(permission); } @@ -285,7 +284,6 @@ bool APIPermissionSet::ParseFromJSON( APIPermissionSet* api_permissions, string16* error, std::vector<std::string>* unhandled_permissions) { - PermissionsInfo* info = PermissionsInfo::GetInstance(); for (size_t i = 0; i < permissions->GetSize(); ++i) { std::string permission_str; const base::Value* permission_value = NULL; @@ -308,7 +306,7 @@ bool APIPermissionSet::ParseFromJSON( // Check if this permission is a special case where its value should // be treated as a list of child permissions. - if (info->HasChildPermissions(permission_str)) { + if (PermissionsInfo::GetInstance()->HasChildPermissions(permission_str)) { if (!ParseChildPermissions(permission_str, permission_value, api_permissions, error, unhandled_permissions)) return false; @@ -316,7 +314,7 @@ bool APIPermissionSet::ParseFromJSON( } if (!CreateAPIPermission(permission_str, permission_value, - api_permissions, error, unhandled_permissions)) + api_permissions, error, unhandled_permissions)) return false; } return true; |