Chromium Code Reviews

Unified Diff: Source/bindings/scripts/v8_methods.py

Issue 259773008: Add support for type checking of floating point arguments as [TypeChecking=Unrestricted] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: Source/bindings/scripts/v8_methods.py
diff --git a/Source/bindings/scripts/v8_methods.py b/Source/bindings/scripts/v8_methods.py
index 8c10166bca4d2d5bc7405be95cf6105175797f1b..785e7de59b5cbbbd80abd8a808686c1fca98f338 100644
--- a/Source/bindings/scripts/v8_methods.py
+++ b/Source/bindings/scripts/v8_methods.py
@@ -141,7 +141,14 @@ def generate_argument(interface, method, argument, index):
extended_attributes = argument.extended_attributes
idl_type = argument.idl_type
this_cpp_value = cpp_value(interface, method, index)
+ has_type_checking_unrestricted = (
+ (has_extended_attribute_value(interface, 'TypeChecking', 'Unrestricted') or
+ has_extended_attribute_value(method, 'TypeChecking', 'Unrestricted')) and
+ idl_type.name in ('Float', 'Double'))
+ if has_type_checking_unrestricted:
+ includes.add('wtf/dtoa/double.h')
is_variadic_wrapper_type = argument.is_variadic and idl_type.is_wrapper_type
+
return {
'cpp_type': idl_type.cpp_type_args(used_in_cpp_sequence=is_variadic_wrapper_type),
'cpp_value': this_cpp_value,
@@ -156,6 +163,7 @@ def generate_argument(interface, method, argument, index):
(has_extended_attribute_value(interface, 'TypeChecking', 'Interface') or
has_extended_attribute_value(method, 'TypeChecking', 'Interface')) and
idl_type.is_wrapper_type,
+ 'has_type_checking_unrestricted': has_type_checking_unrestricted,
# Dictionary is special-cased, but arrays and sequences shouldn't be
'idl_type': not idl_type.array_or_sequence_type and idl_type.base_type,
'idl_type_object': idl_type,

Powered by Google App Engine