| Index: mojo/public/tools/bindings/generators/cpp_templates/union_traits_definition.tmpl
|
| diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_traits_definition.tmpl
|
| similarity index 81%
|
| rename from mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
|
| rename to mojo/public/tools/bindings/generators/cpp_templates/union_traits_definition.tmpl
|
| index 5394950b2dc5c8989e04f7fe24dbc79fc63cc155..cde3f95669369fad483f82f05dd8142acc45fef1 100644
|
| --- a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
|
| +++ b/mojo/public/tools/bindings/generators/cpp_templates/union_traits_definition.tmpl
|
| @@ -19,10 +19,15 @@ bool UnionTraits<{{mojom_type}}::DataView, {{mojom_type}}Ptr>::Read(
|
| if (!input.Read{{name|under_to_camel}}(result_acc.data()->{{name}}))
|
| return false;
|
|
|
| -{%- elif kind|is_any_handle_or_interface_kind %}
|
| +{%- elif kind|is_any_handle_kind %}
|
| auto result_{{name}} = input.Take{{name|under_to_camel}}();
|
| result->set_{{name}}(std::move(result_{{name}}));
|
|
|
| +{%- elif kind|is_any_interface_kind %}
|
| + auto result_{{name}} =
|
| + input.Take{{name|under_to_camel}}<typename std::remove_reference<decltype(result->get_{{name}}())>::type>();
|
| + result->set_{{name}}(std::move(result_{{name}}));
|
| +
|
| {%- elif kind|is_enum_kind %}
|
| decltype(result->get_{{name}}()) result_{{name}};
|
| if (!input.Read{{name|under_to_camel}}(&result_{{name}}))
|
|
|