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

Unified Diff: extensions/renderer/bindings/api_signature.cc

Issue 2947223003: [Extensions Bindings] Consider argument type more in signature parsing (Closed)
Patch Set: rebase Created 3 years, 6 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: extensions/renderer/bindings/api_signature.cc
diff --git a/extensions/renderer/bindings/api_signature.cc b/extensions/renderer/bindings/api_signature.cc
index 5c2eb5f918d7415342a53b1dfe91c867397efc45..9b4f77561f4775c06272b74ded255be8930a5d44 100644
--- a/extensions/renderer/bindings/api_signature.cc
+++ b/extensions/renderer/bindings/api_signature.cc
@@ -210,8 +210,7 @@ bool ArgumentParser::ParseArgument(const ArgumentSpec& spec) {
return true;
}
- if (!spec.ParseArgument(context_, value, type_refs_, GetBuffer(),
- &parse_error_)) {
+ if (!spec.IsCorrectType(value, type_refs_, &parse_error_)) {
if (!spec.optional()) {
*error_ = api_errors::ArgumentError(spec.name(), parse_error_);
return false;
@@ -221,6 +220,12 @@ bool ArgumentParser::ParseArgument(const ArgumentSpec& spec) {
return true;
}
+ if (!spec.ParseArgument(context_, value, type_refs_, GetBuffer(),
+ &parse_error_)) {
+ *error_ = api_errors::ArgumentError(spec.name(), parse_error_);
+ return false;
+ }
+
ConsumeArgument();
AddParsedArgument(value);
return true;

Powered by Google App Engine
This is Rietveld 408576698