Index: Source/bindings/scripts/v8_interface.py |
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py |
index 01cc1ac3a66aaaf65c35356bf13f5e2f13c9076e..80049e1be1461fe5fc32d11eb13d9fac2311c69a 100644 |
--- a/Source/bindings/scripts/v8_interface.py |
+++ b/Source/bindings/scripts/v8_interface.py |
@@ -750,10 +750,14 @@ def sort_and_groupby(l, key=None): |
# [Constructor] |
def generate_constructor(interface, constructor): |
+ arguments_need_try_catch = any(v8_methods.argument_needs_try_catch(argument) |
+ for argument in constructor.arguments) |
+ |
return { |
'argument_list': constructor_argument_list(interface, constructor), |
- 'arguments': [v8_methods.generate_argument(interface, constructor, argument, index) |
+ 'arguments': [v8_methods.generate_argument(interface, constructor, argument, index, arguments_need_try_catch) |
for index, argument in enumerate(constructor.arguments)], |
+ 'arguments_need_try_catch': arguments_need_try_catch, |
'cpp_type': cpp_template_type( |
cpp_ptr_type('RefPtr', 'RawPtr', gc_type(interface)), |
cpp_name(interface)), |