| Index: Source/bindings/scripts/unstable/v8_types.py
|
| diff --git a/Source/bindings/scripts/unstable/v8_types.py b/Source/bindings/scripts/unstable/v8_types.py
|
| index 131b804ce9e7c792218028e3314687d19c046e8d..7de6daa67b5cf00824915e613e7905897d1453b6 100644
|
| --- a/Source/bindings/scripts/unstable/v8_types.py
|
| +++ b/Source/bindings/scripts/unstable/v8_types.py
|
| @@ -57,7 +57,13 @@ BASIC_TYPES = set([
|
| # unrestricted float is not supported
|
| 'double',
|
| # unrestricted double is not supported
|
| - # integer types
|
| + # http://www.w3.org/TR/WebIDL/#idl-types
|
| + 'DOMString',
|
| + 'Date',
|
| + # http://www.w3.org/TR/WebIDL/#es-type-mapping
|
| + 'void',
|
| +])
|
| +INTEGER_TYPES = set([
|
| # http://www.w3.org/TR/WebIDL/#dfn-integer-type
|
| 'byte',
|
| 'octet',
|
| @@ -68,12 +74,8 @@ BASIC_TYPES = set([
|
| 'unsigned long',
|
| 'long long',
|
| 'unsigned long long',
|
| - # http://www.w3.org/TR/WebIDL/#idl-types
|
| - 'DOMString',
|
| - 'Date',
|
| - # http://www.w3.org/TR/WebIDL/#es-type-mapping
|
| - 'void',
|
| ])
|
| +BASIC_TYPES.update(INTEGER_TYPES)
|
|
|
| enum_types = {} # name -> values
|
| callback_function_types = set()
|
| @@ -92,6 +94,10 @@ def is_basic_type(idl_type):
|
| return idl_type in BASIC_TYPES
|
|
|
|
|
| +def is_integer_type(idl_type):
|
| + return idl_type in INTEGER_TYPES
|
| +
|
| +
|
| def is_callback_function_type(idl_type):
|
| return idl_type in callback_function_types
|
|
|
| @@ -377,8 +383,10 @@ def v8_value_to_cpp_value(idl_type, extended_attributes, v8_value, index):
|
| add_includes_for_type(idl_type)
|
|
|
| if 'EnforceRange' in extended_attributes:
|
| - arguments = ', '.join([v8_value, 'EnforceRange', 'ok'])
|
| - else: # NormalConversion
|
| + arguments = ', '.join([v8_value, 'EnforceRange', 'exceptionState'])
|
| + elif is_integer_type(idl_type): # NormalConversion
|
| + arguments = ', '.join([v8_value, 'exceptionState'])
|
| + else:
|
| arguments = v8_value
|
|
|
| if idl_type in V8_VALUE_TO_CPP_VALUE:
|
| @@ -421,8 +429,8 @@ def v8_value_to_local_cpp_value(idl_type, extended_attributes, v8_value, variabl
|
| idl_type = preprocess_idl_type(idl_type)
|
| if idl_type == 'DOMString':
|
| format_string = 'V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID({cpp_type}, {variable_name}, {cpp_value})'
|
| - elif 'EnforceRange' in extended_attributes:
|
| - format_string = 'V8TRYCATCH_WITH_TYPECHECK_VOID({cpp_type}, {variable_name}, {cpp_value}, info.GetIsolate())'
|
| + elif is_integer_type(idl_type):
|
| + format_string = 'V8TRYCATCH_EXCEPTION_VOID({cpp_type}, {variable_name}, {cpp_value}, exceptionState)'
|
| else:
|
| format_string = 'V8TRYCATCH_VOID({cpp_type}, {variable_name}, {cpp_value})'
|
|
|
|
|