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; |
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)); |
- 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(); |