Index: Source/bindings/scripts/v8_types.py |
diff --git a/Source/bindings/scripts/v8_types.py b/Source/bindings/scripts/v8_types.py |
index 4bc44bdb694f2da27b7c98b100b185f34d47b85e..e5e8023e9c18eea4ab77446b4f85188bbae02d14 100644 |
--- a/Source/bindings/scripts/v8_types.py |
+++ b/Source/bindings/scripts/v8_types.py |
@@ -501,7 +501,7 @@ def v8_value_to_cpp_value(idl_type, extended_attributes, v8_value, index, isolat |
'{v8_value}->Is{idl_type}() ? ' |
'V8{idl_type}::toImpl(v8::Handle<v8::{idl_type}>::Cast({v8_value})) : 0') |
elif idl_type.is_dictionary: |
- cpp_expression_format = 'V8{idl_type}::toImpl({isolate}, {v8_value})' |
+ cpp_expression_format = 'V8{idl_type}::toImpl({isolate}, {v8_value}, exceptionState)' |
else: |
cpp_expression_format = ( |
'V8{idl_type}::toImplWithTypeCheck({isolate}, {v8_value})') |
@@ -544,7 +544,8 @@ def v8_value_to_local_cpp_value(idl_type, extended_attributes, v8_value, variabl |
args = [variable_name, cpp_value] |
if idl_type.base_type == 'DOMString': |
macro = 'TOSTRING_DEFAULT' if used_in_private_script else 'TOSTRING_VOID' |
- elif idl_type.may_raise_exception_on_conversion: |
+ elif (idl_type.may_raise_exception_on_conversion and |
+ not idl_type.is_dictionary): |
macro = 'TONATIVE_DEFAULT_EXCEPTIONSTATE' if used_in_private_script else 'TONATIVE_VOID_EXCEPTIONSTATE' |
args.append('exceptionState') |
else: |