Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Unified Diff: chrome/browser/extensions/extension_permissions_api.cc

Issue 9114036: Code generation for extensions api (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: a fistful of rework Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_, &params));
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_, &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 +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(), &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();

Powered by Google App Engine
This is Rietveld 408576698