| Index: Source/bindings/templates/methods.cpp
|
| diff --git a/Source/bindings/templates/methods.cpp b/Source/bindings/templates/methods.cpp
|
| index cf307e68859e6f8a5be32b7564636cd4045ddcad..1a34416d767768c500c54fe61b0e7a209b161ab3 100644
|
| --- a/Source/bindings/templates/methods.cpp
|
| +++ b/Source/bindings/templates/methods.cpp
|
| @@ -296,23 +296,26 @@ if (info.Length() >= 2 && listener && !impl->toNode())
|
|
|
| {######################################}
|
| {% macro union_type_method_call_and_set_return_value(method) %}
|
| -{% for cpp_type in method.cpp_type %}
|
| -bool result{{loop.index0}}Enabled = false;
|
| -{{cpp_type}} result{{loop.index0}};
|
| +{% for argument in method.union_arguments %}
|
| +{{argument.cpp_type}} {{argument.cpp_value}};
|
| {% endfor %}
|
| {{method.cpp_value}};
|
| {% if method.is_null_expression %}{# used by getters #}
|
| if ({{method.is_null_expression}})
|
| return;
|
| {% endif %}
|
| -{% for v8_set_return_value in method.v8_set_return_value %}
|
| -if (result{{loop.index0}}Enabled) {
|
| - {{v8_set_return_value}};
|
| +{% for argument in method.union_arguments %}
|
| +if ({{argument.null_check_value}}) {
|
| + {{argument.v8_set_return_value}};
|
| return;
|
| }
|
| {% endfor %}
|
| {# Fall back to null if none of the union members results are returned #}
|
| +{% if method.is_null_expression %}
|
| +ASSERT_NOT_REACHED();
|
| +{% else %}
|
| v8SetReturnValueNull(info);
|
| +{% endif %}
|
| {% endmacro %}
|
|
|
|
|
|
|