Index: mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
index 0bb1cda14b5a6917971ebe470edf935e6bc7de2b..e6d04268520aa5f0f0a77a4c4e14839711d1c5ed 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
@@ -13,3 +13,16 @@ |
{{struct.name}}::~{{struct.name}}() { |
} |
+ |
+{%- if struct|is_hashable %} |
+size_t {{struct.name}}::Hash(size_t seed) const { |
+{%- for field in struct.fields %} |
+{%- if for_blink %} |
+ seed = mojo::internal::WTFHash(seed, this->{{field.name}}); |
+{%- else %} |
+ seed = mojo::internal::Hash(seed, this->{{field.name}}); |
+{%- endif %} |
+{%- endfor %} |
+ return seed; |
+} |
+{%- endif %} |