Index: mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
index be2db4c952f15f766ad5c1135f83fc2f35616c94..d65854073187bfc6aed181e11d6a8d55407820b5 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
@@ -6,7 +6,11 @@ class {{class_name}} { |
public: |
// Used to identify Mojom Union Data Classes. |
typedef void MojomUnionDataType; |
- static {{class_name}}* New(mojo::internal::Buffer* buf); |
+ |
+ static {{class_name}}* New(mojo::internal::Buffer* buf) { |
+ return new (buf->Allocate(sizeof({{class_name}}))) {{class_name}}(); |
+ } |
+ |
{{class_name}}(); |
// Do nothing in the destructor since it won't be called. |
~{{class_name}}() {} |