summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/api/permissions/permissions_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/api/permissions/permissions_api.cc')
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api.cc35
1 files changed, 20 insertions, 15 deletions
diff --git a/chrome/browser/extensions/api/permissions/permissions_api.cc b/chrome/browser/extensions/api/permissions/permissions_api.cc
index bd87039..0e8ccb2 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_api.cc
@@ -13,10 +13,15 @@
#include "chrome/common/extensions/api/permissions.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_error_utils.h"
+#include "chrome/common/extensions/permissions/permissions_info.h"
#include "chrome/common/extensions/url_pattern_set.h"
#include "googleurl/src/gurl.h"
using extensions::api::permissions::Permissions;
+using extensions::APIPermission;
+using extensions::APIPermissionSet;
+using extensions::PermissionSet;
+using extensions::PermissionsInfo;
using extensions::PermissionsUpdater;
namespace Contains = extensions::api::permissions::Contains;
@@ -49,7 +54,7 @@ bool ignore_user_gesture_for_tests = false;
bool ContainsPermissionsFunction::RunImpl() {
scoped_ptr<Contains::Params> params(Contains::Params::Create(*args_));
- scoped_refptr<ExtensionPermissionSet> permissions =
+ scoped_refptr<PermissionSet> permissions =
helpers::UnpackPermissionSet(params->permissions, &error_);
if (!permissions.get())
return false;
@@ -70,19 +75,19 @@ bool RemovePermissionsFunction::RunImpl() {
scoped_ptr<Remove::Params> params(Remove::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
- scoped_refptr<ExtensionPermissionSet> permissions =
+ scoped_refptr<PermissionSet> permissions =
helpers::UnpackPermissionSet(params->permissions, &error_);
if (!permissions.get())
return false;
const extensions::Extension* extension = GetExtension();
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
// Make sure they're only trying to remove permissions supported by this API.
- ExtensionAPIPermissionSet apis = permissions->apis();
- for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ APIPermissionSet apis = permissions->apis();
+ for (APIPermissionSet::const_iterator i = apis.begin();
i != apis.end(); ++i) {
- const ExtensionAPIPermission* api = info->GetByID(*i);
+ const APIPermission* api = info->GetByID(*i);
if (!api->supports_optional()) {
error_ = ExtensionErrorUtils::FormatErrorMessage(
kNotWhitelistedError, api->name());
@@ -91,9 +96,9 @@ bool RemovePermissionsFunction::RunImpl() {
}
// Make sure we don't remove any required pemissions.
- const ExtensionPermissionSet* required = extension->required_permission_set();
- scoped_refptr<ExtensionPermissionSet> intersection(
- ExtensionPermissionSet::CreateIntersection(permissions.get(), required));
+ const PermissionSet* required = extension->required_permission_set();
+ scoped_refptr<PermissionSet> intersection(
+ PermissionSet::CreateIntersection(permissions.get(), required));
if (!intersection->IsEmpty()) {
error_ = kCantRemoveRequiredPermissionsError;
result_.reset(Remove::Result::Create(false));
@@ -151,14 +156,14 @@ bool RequestPermissionsFunction::RunImpl() {
if (!requested_permissions_.get())
return false;
- ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
+ PermissionsInfo* info = PermissionsInfo::GetInstance();
ExtensionPrefs* prefs = profile()->GetExtensionService()->extension_prefs();
// Make sure they're only requesting permissions supported by this API.
- ExtensionAPIPermissionSet apis = requested_permissions_->apis();
- for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ APIPermissionSet apis = requested_permissions_->apis();
+ for (APIPermissionSet::const_iterator i = apis.begin();
i != apis.end(); ++i) {
- const ExtensionAPIPermission* api = info->GetByID(*i);
+ const APIPermission* api = info->GetByID(*i);
if (!api->supports_optional()) {
error_ = ExtensionErrorUtils::FormatErrorMessage(
kNotWhitelistedError, api->name());
@@ -176,7 +181,7 @@ bool RequestPermissionsFunction::RunImpl() {
// We don't need to prompt the user if the requested permissions are a subset
// of the granted permissions set.
- scoped_refptr<const ExtensionPermissionSet> granted =
+ scoped_refptr<const PermissionSet> granted =
prefs->GetGrantedPermissions(GetExtension()->id());
if (granted.get() && granted->Contains(*requested_permissions_)) {
PermissionsUpdater perms_updater(profile());
@@ -187,7 +192,7 @@ bool RequestPermissionsFunction::RunImpl() {
}
// Filter out the granted permissions so we only prompt for new ones.
- requested_permissions_ = ExtensionPermissionSet::CreateDifference(
+ requested_permissions_ = PermissionSet::CreateDifference(
requested_permissions_.get(), granted.get());
AddRef(); // Balanced in InstallUIProceed() / InstallUIAbort().