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..8fc4e85c02b78c17473dc5d5e53003151e50a4c5 100644 |
| --- a/chrome/browser/extensions/extension_permissions_api.cc |
| +++ b/chrome/browser/extensions/extension_permissions_api.cc |
| @@ -11,14 +11,17 @@ |
| #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.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::PackPermissionsToValue; |
| -using extensions::permissions_api::UnpackPermissionsFromValue; |
| +using extensions::permissions_api_helpers::PackPermissionsToValue; |
| +using extensions::permissions_api_helpers::UnpackPermissionSet; |
| + |
|
jstritar
2012/01/23 22:42:07
nit: no new line?
calamity
2012/01/24 22:57:22
Done.
|
| +using namespace extensions::api::permissions; |
| namespace { |
| @@ -42,16 +45,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(Contains::Params::Create(*args_)); |
|
Yoyo Zhou
2012/01/23 23:16:42
You probably want scoped_ptr<Contains::Params>, or
calamity
2012/01/24 22:57:22
Done.
|
| + EXTENSION_FUNCTION_VALIDATE(params); |
| - 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 +65,13 @@ bool GetAllPermissionsFunction::RunImpl() { |
| } |
| bool RemovePermissionsFunction::RunImpl() { |
| - DictionaryValue* args = NULL; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
| - if (!args) |
| - return false; |
| + Remove::Params* params(Remove::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params); |
| - 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 +123,12 @@ bool RequestPermissionsFunction::RunImpl() { |
| return false; |
| } |
| - DictionaryValue* args = NULL; |
| - EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &args)); |
| - if (!args) |
| - return false; |
| + Request::Params* params(Request::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params); |
| - 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(); |