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..a8d6bd7f976263fcbda105251c26a92eccd26bfa 100644 |
| --- a/chrome/browser/extensions/extension_permissions_api.cc |
| +++ b/chrome/browser/extensions/extension_permissions_api.cc |
| @@ -16,9 +16,14 @@ |
| #include "chrome/common/extensions/url_pattern_set.h" |
| #include "googleurl/src/gurl.h" |
| +#include "chrome/common/extensions/api/permissions_api.h" |
|
not at google - send to devlin
2012/01/12 06:01:05
move this up with the other #includes
calamity
2012/01/12 22:59:20
Done.
|
| + |
| using extensions::PermissionsUpdater; |
| +using extensions::permissions_api::Contains; |
| 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 +47,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)); |
| - 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 +67,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 +125,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(); |