summaryrefslogtreecommitdiffstats
path: root/mojo/public/tools
diff options
context:
space:
mode:
authoryzshen <yzshen@chromium.org>2016-02-29 15:54:12 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-29 23:55:53 +0000
commitfa61f06a8e2f0e1bc8a6dde5e87496deb951bb78 (patch)
treebf0e059e1f382e5972defde43870bb5378ad1004 /mojo/public/tools
parent209a177549a7cce290e8cef22b47f640334a8f52 (diff)
downloadchromium_src-fa61f06a8e2f0e1bc8a6dde5e87496deb951bb78.zip
chromium_src-fa61f06a8e2f0e1bc8a6dde5e87496deb951bb78.tar.gz
chromium_src-fa61f06a8e2f0e1bc8a6dde5e87496deb951bb78.tar.bz2
Mojo C++ bindings: Preparation for supporting WTF-firendly string/arrary/map.
This CL: - introduces serialization_forward.h to avoid circular includes or some verbose forward declarations. - introduces serialization.h so that users don't have to include indiviudal serialization files. - move most of the code of array_serialization.h into array_serialization_traits.h. It is intended to be shared with WTF array serialization. BUG=583738 Review URL: https://codereview.chromium.org/1747993002 Cr-Commit-Position: refs/heads/master@{#378317}
Diffstat (limited to 'mojo/public/tools')
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl9
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl2
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl4
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl2
4 files changed, 10 insertions, 7 deletions
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
index a6dc1cf..b00b1da 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
@@ -8,7 +8,14 @@
{%- macro declare_callback(method) -%}
mojo::Callback<void(
{%- for param in method.response_parameters -%}
-{{param.kind|cpp_result_type}}
+{#- TODO(yzshen): Previously |cpp_result_type| is used here incorrectly.
+ The outcome is we will use mojo::String instead of const mojo::String&.
+ Preserve the behavior temporarily. #}
+{%- if not param.kind|is_string_kind -%}
+{{param.kind|cpp_const_wrapper_type}}
+{%- else -%}
+mojo::String
+{%- endif %}
{%- if not loop.last %}, {% endif %}
{%- endfor -%}
)>
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
index c761c25..52aab99 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
@@ -17,7 +17,7 @@
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/buffer.h"
-#include "mojo/public/cpp/bindings/lib/native_serialization.h"
+#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/lib/union_accessor.h"
#include "mojo/public/cpp/bindings/lib/value_traits.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
index 447faa9..447b6a4 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
@@ -26,14 +26,10 @@
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
-#include "mojo/public/cpp/bindings/lib/array_serialization.h"
#include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
#include "mojo/public/cpp/bindings/lib/bounds_checker.h"
#include "mojo/public/cpp/bindings/lib/map_data_internal.h"
-#include "mojo/public/cpp/bindings/lib/map_serialization.h"
#include "mojo/public/cpp/bindings/lib/message_builder.h"
-#include "mojo/public/cpp/bindings/lib/native_serialization.h"
-#include "mojo/public/cpp/bindings/lib/string_serialization.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/lib/validation_util.h"
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
index fa7dd15..91a4473 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
@@ -28,7 +28,7 @@
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/lib/control_message_proxy.h"
-#include "mojo/public/cpp/bindings/lib/native_serialization.h"
+#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map.h"
#include "mojo/public/cpp/bindings/message_filter.h"
#include "mojo/public/cpp/bindings/no_interface.h"