Index: Source/bindings/scripts/v8_methods.py |
diff --git a/Source/bindings/scripts/v8_methods.py b/Source/bindings/scripts/v8_methods.py |
index 4cb00489c1f47da8882505ab320504f675e3ce1c..533e903f68821aa1f593e9313bdac1fed3fd2ea3 100644 |
--- a/Source/bindings/scripts/v8_methods.py |
+++ b/Source/bindings/scripts/v8_methods.py |
@@ -168,6 +168,7 @@ def generate_argument(interface, method, argument, index): |
'vector_type': v8_types.cpp_ptr_type('Vector', 'HeapVector', idl_type.gc_type), |
'is_wrapper_type': idl_type.is_wrapper_type, |
'name': argument.name, |
+ 'default_value': argument.default_value, |
Nils Barth (inactive)
2014/05/16 12:22:54
Alphabetical order please.
|
'v8_set_return_value_for_main_world': v8_set_return_value(interface.name, method, this_cpp_value, for_main_world=True), |
'v8_set_return_value': v8_set_return_value(interface.name, method, this_cpp_value), |
'v8_value_to_local_cpp_value': v8_value_to_local_cpp_value(argument, index), |
@@ -195,7 +196,8 @@ def cpp_value(interface, method, number_of_arguments): |
return argument.name |
# Truncate omitted optional arguments |
Nils Barth (inactive)
2014/05/16 12:22:54
Could you move these down to the cpp_arguments.ext
|
- arguments = method.arguments[:number_of_arguments] |
+ required_arguments = method.arguments[:number_of_arguments] |
+ optional_arguments = method.arguments[number_of_arguments:] |
cpp_arguments = v8_utilities.call_with_arguments(method) |
# Members of IDL partial interface definitions are implemented in C++ as |
# static member functions, which for instance members (non-static members) |
@@ -203,7 +205,8 @@ def cpp_value(interface, method, number_of_arguments): |
if ('PartialInterfaceImplementedAs' in method.extended_attributes and |
not method.is_static): |
cpp_arguments.append('*impl') |
- cpp_arguments.extend(cpp_argument(argument) for argument in arguments) |
+ cpp_arguments.extend(cpp_argument(argument) for argument in required_arguments) |
Nils Barth (inactive)
2014/05/16 12:22:54
Line breaks please, here and next line:
loop and c
|
+ cpp_arguments.extend(argument.default_value for argument in optional_arguments if argument.is_optional and argument.default_value) |
this_union_arguments = method.idl_type and method.idl_type.union_arguments |
if this_union_arguments: |
cpp_arguments.extend(this_union_arguments) |