Chromium Code Reviews| Index: chrome/browser/extensions/extension_permissions_api.cc |
| diff --git a/chrome/browser/extensions/extension_permissions_api.cc b/chrome/browser/extensions/extension_permissions_api.cc |
| index fe9271006595b0e6604079ac279cffe3de5cbfb7..36b4b9cfcea440c61840a8ea9ac5d785414b02c2 100644 |
| --- a/chrome/browser/extensions/extension_permissions_api.cc |
| +++ b/chrome/browser/extensions/extension_permissions_api.cc |
| @@ -11,14 +11,18 @@ |
| #include "chrome/browser/extensions/permissions_updater.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/chrome_notification_types.h" |
| +#include "chrome/common/extensions/api/permissions_api.h" |
| #include "chrome/common/extensions/extension.h" |
| #include "chrome/common/extensions/extension_error_utils.h" |
| #include "chrome/common/extensions/url_pattern_set.h" |
| #include "googleurl/src/gurl.h" |
| using extensions::PermissionsUpdater; |
| +using extensions::permissions_api::Contains; |
|
Aaron Boodman
2012/01/19 23:31:13
Maybe extensions::api::permissions::Contains? Only
calamity
2012/01/20 01:10:25
Would we need to change that namespace structure a
|
| using extensions::permissions_api::PackPermissionsToValue; |
| -using extensions::permissions_api::UnpackPermissionsFromValue; |
| +using extensions::permissions_api::Remove; |
| +using extensions::permissions_api::Request; |
| +using extensions::permissions_api::UnpackPermissionSet; |
| namespace { |
| @@ -42,16 +46,13 @@ bool ignore_user_gesture_for_tests = false; |
| } // namespace |
| bool ContainsPermissionsFunction::RunImpl() { |
| - DictionaryValue* args = NULL; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
| - std::string error; |
| - if (!args) |
| - return false; |
| + Contains::Params params; |
| + EXTENSION_FUNCTION_VALIDATE(Contains::Params::Populate(*args_, ¶ms)); |
|
Yoyo Zhou
2012/01/19 23:19:11
Should these all be *args_.get()?
calamity
2012/01/23 05:14:45
From what I understand of operator overloading I t
|
| - scoped_refptr<ExtensionPermissionSet> permissions; |
| - if (!UnpackPermissionsFromValue(args, &permissions, &bad_message_, &error_)) |
| + scoped_refptr<ExtensionPermissionSet> permissions = |
| + UnpackPermissionSet(params.permissions, &error_); |
| + if (!permissions.get()) |
| return false; |
| - CHECK(permissions.get()); |
| result_.reset(Value::CreateBooleanValue( |
| GetExtension()->GetActivePermissions()->Contains(*permissions))); |
| @@ -65,15 +66,13 @@ bool GetAllPermissionsFunction::RunImpl() { |
| } |
| bool RemovePermissionsFunction::RunImpl() { |
| - DictionaryValue* args = NULL; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
| - if (!args) |
| - return false; |
| + Remove::Params params; |
| + EXTENSION_FUNCTION_VALIDATE(Remove::Params::Populate(*args_, ¶ms)); |
| - scoped_refptr<ExtensionPermissionSet> permissions; |
| - if (!UnpackPermissionsFromValue(args, &permissions, &bad_message_, &error_)) |
| + scoped_refptr<ExtensionPermissionSet> permissions = |
| + UnpackPermissionSet(params.permissions, &error_); |
| + if (!permissions.get()) |
| return false; |
| - CHECK(permissions.get()); |
| const Extension* extension = GetExtension(); |
| ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); |
| @@ -125,15 +124,12 @@ bool RequestPermissionsFunction::RunImpl() { |
| return false; |
| } |
| - DictionaryValue* args = NULL; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
| - if (!args) |
| - return false; |
| + Request::Params params; |
| + EXTENSION_FUNCTION_VALIDATE(Request::Params::Populate(*args_.get(), ¶ms)); |
| - if (!UnpackPermissionsFromValue( |
| - args, &requested_permissions_, &bad_message_, &error_)) |
| + requested_permissions_ = UnpackPermissionSet(params.permissions, &error_); |
| + if (!requested_permissions_.get()) |
| return false; |
| - CHECK(requested_permissions_.get()); |
| ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); |
| ExtensionPrefs* prefs = profile()->GetExtensionService()->extension_prefs(); |