Chromium Code Reviews| Index: Source/bindings/templates/methods.cpp |
| diff --git a/Source/bindings/templates/methods.cpp b/Source/bindings/templates/methods.cpp |
| index f1f0fdb5593b5155d4e13acf141d648f200f3ca3..113fdd78f0c66158090606c287829ddc876822fa 100644 |
| --- a/Source/bindings/templates/methods.cpp |
| +++ b/Source/bindings/templates/methods.cpp |
| @@ -84,7 +84,15 @@ if (listener && !impl->toNode()) |
| V8RethrowTryCatchScope rethrow(block); |
| {% endif %} |
| {% for argument in method.arguments %} |
| + {% if argument.default_value %} |
|
Nils Barth (inactive)
2014/06/04 05:22:24
This is a behavior change, right?
Could you put t
Jens Widell
2014/06/04 06:12:18
Along with the IDL file changes, yes. Although I b
Nils Barth (inactive)
2014/06/04 06:33:36
The generated code is different (the object code m
|
| + if (info.Length() > {{argument.index}}) { |
| + {{generate_argument(method, argument, world_suffix) | indent(8)}} |
| + } else { |
| + {{argument.name}} = {{argument.default_value}}; |
| + } |
| + {% else %} |
| {{generate_argument(method, argument, world_suffix) | indent}} |
| + {% endif %} |
| {% endfor %} |
| } |
| {% endmacro %} |
| @@ -110,7 +118,8 @@ OwnPtr<{{argument.idl_type}}> {{argument.name}} |
| {######################################} |
| {% macro generate_argument(method, argument, world_suffix) %} |
| -{% if argument.is_optional and not argument.has_default and |
| +{% if argument.is_optional and |
| + not (argument.has_default or argument.default_value) and |
|
Nils Barth (inactive)
2014/06/04 05:22:24
Can you avoid this by changing the definition in v
Jens Widell
2014/06/04 06:12:18
Will do. In general, 'has_default' and its meaning
Nils Barth (inactive)
2014/06/04 06:33:36
Yeah, at this point it becomes vestigial, and "goi
|
| argument.idl_type != 'Dictionary' and |
| not argument.is_callback_interface %} |
| {# Optional arguments without a default value generate an early call with |