Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Issue 1518293002: [mojo] Add Mojo bindings support for IPC::ParamTraits (Closed)

Created:
5 years ago by Ken Rockot(use gerrit already)
Modified:
4 years, 10 months ago
Reviewers:
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@pickle4
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[mojo] Add Mojo bindings support for IPC::ParamTraits This adds the ability to map mojom struct declarations to native types (with either chromium or blink variants), using IPC::ParamTraits definitions to prescribe serialization behavior. Existing ParamTraits declarations still must be modified to use a base::Pickle instead of IPC::Message for Write, but this can be done on a case-by-case basis as needed and does not need to be applied universally across the codebase. Part of a series of changes to reuse existing serialization traits with new Mojo bindings: 1. https://codereview.chromium.org/1524613002 2. https://codereview.chromium.org/1515423002 3. https://codereview.chromium.org/1517043004 4. This CL BUG=

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : #

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+681 lines, -36 lines) Patch
M mojo/common/weak_binding_set.h View 3 chunks +7 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/cpp/bindings/binding.h View 6 chunks +7 lines, -5 lines 0 comments Download
M mojo/public/cpp/bindings/interface_request.h View 1 chunk +4 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/array_serialization.h View 9 chunks +21 lines, -12 lines 0 comments Download
M mojo/public/cpp/bindings/lib/bindings_internal.h View 1 chunk +8 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/buffer.h View 1 chunk +6 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/fixed_buffer.h View 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/fixed_buffer.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/map_serialization.h View 2 chunks +4 lines, -2 lines 0 comments Download
A mojo/public/cpp/bindings/lib/native_serialization.h View 1 chunk +91 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/pickle_buffer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/pickle_buffer.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/string_serialization.h View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/string_serialization.cc View 2 chunks +2 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/validation_util.h View 1 chunk +13 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/message.h View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/cpp/bindings/tests/BUILD.gn View 2 chunks +7 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/tests/pickle_unittest.cc View 1 2 1 chunk +179 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/tests/pickled_struct_blink.h View 1 chunk +63 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/tests/pickled_struct_blink.cc View 1 chunk +46 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/tests/pickled_struct_chromium.h View 1 chunk +58 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/tests/pickled_struct_chromium.cc View 1 chunk +44 lines, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl View 1 chunk +4 lines, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl View 1 chunk +4 lines, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl View 1 chunk +3 lines, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl View 3 chunks +17 lines, -2 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl View 2 chunks +2 lines, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl View 3 chunks +4 lines, -2 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl View 2 chunks +7 lines, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/mojom_cpp_generator.py View 11 chunks +62 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 1 (1 generated)
Ken Rockot(use gerrit already)
5 years ago (2015-12-12 04:50:50 UTC) #1
Description was changed from

==========
[mojo] Add Mojo bindings support for IPC::ParamTraits

This adds the ability to map mojom struct declarations
to native types (with either chromium or blink variants),
using IPC::ParamTraits definitions to prescribe
serialization behavior.

Existing ParamTraits declarations still must be modified
to use a base::Pickle instead of IPC::Message for Write,
but this can be done on a case-by-case basis as needed
and does not need to be applied universally across the
codebase.

BUG=
==========

to

==========
[mojo] Add Mojo bindings support for IPC::ParamTraits

This adds the ability to map mojom struct declarations
to native types (with either chromium or blink variants),
using IPC::ParamTraits definitions to prescribe
serialization behavior.

Existing ParamTraits declarations still must be modified
to use a base::Pickle instead of IPC::Message for Write,
but this can be done on a case-by-case basis as needed
and does not need to be applied universally across the
codebase.

Part of a series of changes to reuse existing serialization
traits with new Mojo bindings:

  1. https://codereview.chromium.org/1524613002
  2. https://codereview.chromium.org/1515423002
  3. https://codereview.chromium.org/1517043004
  4. This CL

BUG=
==========

Powered by Google App Engine
This is Rietveld 408576698