New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 742369 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Jul 2017
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Mojo Bindings: Grow message payloads dynamically

Project Member Reported by roc...@chromium.org, Jul 13 2017

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Jul 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/559b70dee308e0a3fd683119650fe8f5ee0cbfdb

commit 559b70dee308e0a3fd683119650fe8f5ee0cbfdb
Author: Ken Rockot <rockot@chromium.org>
Date: Mon Jul 17 22:35:24 2017

Mojo: Support dynamic message growth

Reworks the system messaging APIs to give consumers direct control over
serialized message attachments and replaces MojoMessageOperationThunks
with a simpler pair of functions (serialize and destroy). Introduces new
C API calls: MojoAttachSerializedMessageBuffer,
MojoExtendSerializedMessagePayload, and MojoAttachMessageContext.

Existing usage of the messaging APIs has been adapted to the new API
surface as a precursor to using dynamically-grown messages during
bindings serialization.

BUG= 742369 

Change-Id: Ib3938b2d46a856e0c58b1fb89be78229bc469404
Reviewed-on: https://chromium-review.googlesource.com/571272
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487280}
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/embedder/entrypoints.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/channel.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/channel.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/core.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/core.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/core_unittest.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/message_unittest.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/node_channel.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/node_channel.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/node_controller.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/user_message_impl.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/edk/system/user_message_impl.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/README.md
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/message_pipe.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/tests/core_unittest.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/tests/core_unittest_pure_c.c
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/thunks.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/c/system/thunks.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/cpp/bindings/tests/validation_unittest.cc
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/cpp/system/message.h
[modify] https://crrev.com/559b70dee308e0a3fd683119650fe8f5ee0cbfdb/mojo/public/cpp/system/message_pipe.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8d2cd92c586d23200a2549192af47756f1858c62

commit 8d2cd92c586d23200a2549192af47756f1858c62
Author: Ken Rockot <rockot@chromium.org>
Date: Fri Jul 21 22:05:37 2017

Mojo EDK: Fix MojoExtendSerializedMessagePayload

There are two problems with this API:

1. The buffer size returned is incorrect and could trivially
lead to callers overflowing the message buffer.

2. It does not correctly copy the entire contents of the old message
buffer upon reallocation, instead only copying the extent of the buffer
reported as payload so far.

This fixes both problems. Note that this API has not yet been used in
production, so there are no actual bugs caused by either of these
issues yet.

BUG= 742369 
R=jcivelli@chromium.org

Change-Id: I7ee7cd0783d641940e0ccafc0c9dc772eeaf2793
Reviewed-on: https://chromium-review.googlesource.com/580252
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488769}
[modify] https://crrev.com/8d2cd92c586d23200a2549192af47756f1858c62/mojo/edk/system/channel.cc
[modify] https://crrev.com/8d2cd92c586d23200a2549192af47756f1858c62/mojo/edk/system/core.cc
[modify] https://crrev.com/8d2cd92c586d23200a2549192af47756f1858c62/mojo/edk/system/message_unittest.cc
[modify] https://crrev.com/8d2cd92c586d23200a2549192af47756f1858c62/mojo/edk/system/user_message_impl.cc
[modify] https://crrev.com/8d2cd92c586d23200a2549192af47756f1858c62/mojo/edk/system/user_message_impl.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0

commit 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0
Author: Ken Rockot <rockot@chromium.org>
Date: Tue Jul 25 03:20:45 2017

Mojo C++ Bindings: Dynamic message allocation

Reduces the "prepare-to-serialize" bindings step to handle and
interface collection instead of full message size measurement.

Allows the serialized message buffer to be expanded dynamically
during serialization, and reworks the serialization code to support
writing into a buffer which may be reallocated (and thus relocated)
between operations.

Bug:  742369 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674

TBR=sky@chromium.org

Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
Reviewed-on: https://chromium-review.googlesource.com/580568
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489210}
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/cc/test/DEPS
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/cc/test/run_all_perftests.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/ui/base/BUILD.gn
[add] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/ui/base/test/DEPS
[modify] https://crrev.com/0463c3dc61221f43758bb30f9a4e88b4e1e80fe0/ui/base/test/run_all_unittests.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e350d262a025f230465a014c561ad2c987f70339

commit e350d262a025f230465a014c561ad2c987f70339
Author: nainar <nainar@chromium.org>
Date: Tue Jul 25 03:34:08 2017

Revert "Mojo C++ Bindings: Dynamic message allocation"

This reverts commit 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0.

Reason for revert: Causing compile failure on ios-device bot. https://build.chromium.org/p/chromium.mac/builders/ios-device/builds/61163

Original change's description:
> Mojo C++ Bindings: Dynamic message allocation
> 
> Reduces the "prepare-to-serialize" bindings step to handle and
> interface collection instead of full message size measurement.
> 
> Allows the serialized message buffer to be expanded dynamically
> during serialization, and reworks the serialization code to support
> writing into a buffer which may be reallocated (and thus relocated)
> between operations.
> 
> Bug:  742369 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> 
> TBR=sky@chromium.org
> 
> Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> Reviewed-on: https://chromium-review.googlesource.com/580568
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489210}

TBR=rockot@chromium.org,yzshen@chromium.org

Change-Id: I69aaea7d1928136fcddc4a4f3f86bf4c60cf43a8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  742369 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/583960
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489215}
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/cc/test/DEPS
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/cc/test/run_all_perftests.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/ui/base/BUILD.gn
[delete] https://crrev.com/452bcd1e19ce87fa9f7bb754d3f202f3780932a6/ui/base/test/DEPS
[modify] https://crrev.com/e350d262a025f230465a014c561ad2c987f70339/ui/base/test/run_all_unittests.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ea314373dcd35d1a7a2dc48627d18831d6e789f

commit 9ea314373dcd35d1a7a2dc48627d18831d6e789f
Author: Ken Rockot <rockot@chromium.org>
Date: Tue Jul 25 16:26:24 2017

Reland "Mojo C++ Bindings: Dynamic message allocation"

This is a reland of 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0

Breakage was caused by a defunct test. Test has been deleted.

Original change's description:
> Mojo C++ Bindings: Dynamic message allocation
> 
> Reduces the "prepare-to-serialize" bindings step to handle and
> interface collection instead of full message size measurement.
> 
> Allows the serialized message buffer to be expanded dynamically
> during serialization, and reworks the serialization code to support
> writing into a buffer which may be reallocated (and thus relocated)
> between operations.
> 
> Bug:  742369 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> 
> TBR=sky@chromium.org
> 
> Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> Reviewed-on: https://chromium-review.googlesource.com/580568
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489210}

Bug:  742369 
Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel

TBR=yzshen@chromium.org
TBR=sky@chromium.org

Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
Reviewed-on: https://chromium-review.googlesource.com/584038
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489326}
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/cc/test/DEPS
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/cc/test/run_all_perftests.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/ui/base/BUILD.gn
[add] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/ui/base/test/DEPS
[modify] https://crrev.com/9ea314373dcd35d1a7a2dc48627d18831d6e789f/ui/base/test/run_all_unittests.cc

Comment 6 by roc...@chromium.org, Jul 26 2017

Status: Fixed (was: Started)

Comment 7 by roc...@chromium.org, Jul 26 2017

Status: Started (was: Fixed)
Re-opening since this is getting reverted for now
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29f437f1bf530168e875bd2c67afd0784061f10c

commit 29f437f1bf530168e875bd2c67afd0784061f10c
Author: Ken Rockot <rockot@chromium.org>
Date: Wed Jul 26 14:25:43 2017

Revert "Reland "Mojo C++ Bindings: Dynamic message allocation""

This reverts commit 9ea314373dcd35d1a7a2dc48627d18831d6e789f.

Reason for revert: May be a UAF based on https://bugs.chromium.org/p/chromium/issues/detail?id=748996

Reverting while I investigate

Original change's description:
> Reland "Mojo C++ Bindings: Dynamic message allocation"
> 
> This is a reland of 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0
> 
> Breakage was caused by a defunct test. Test has been deleted.
> 
> Original change's description:
> > Mojo C++ Bindings: Dynamic message allocation
> > 
> > Reduces the "prepare-to-serialize" bindings step to handle and
> > interface collection instead of full message size measurement.
> > 
> > Allows the serialized message buffer to be expanded dynamically
> > during serialization, and reworks the serialization code to support
> > writing into a buffer which may be reallocated (and thus relocated)
> > between operations.
> > 
> > Bug:  742369 
> > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > 
> > TBR=sky@chromium.org
> > 
> > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > Reviewed-on: https://chromium-review.googlesource.com/580568
> > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#489210}
> 
> Bug:  742369 
> Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> 
> TBR=yzshen@chromium.org
> TBR=sky@chromium.org
> 
> Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> Reviewed-on: https://chromium-review.googlesource.com/584038
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489326}

TBR=rockot@chromium.org

Change-Id: I684e1e5f0fc402e99afcdc3ba3cd35f650ad1b01
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  742369 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/586667
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489635}
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/cc/test/DEPS
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/cc/test/run_all_perftests.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/ui/base/BUILD.gn
[delete] https://crrev.com/4a64c3939c211c131d16161c2c485831e7f6fc19/ui/base/test/DEPS
[modify] https://crrev.com/29f437f1bf530168e875bd2c67afd0784061f10c/ui/base/test/run_all_unittests.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2119883a801b2aae57ee3f9fe64a4228b14a86d0

commit 2119883a801b2aae57ee3f9fe64a4228b14a86d0
Author: Ken Rockot <rockot@chromium.org>
Date: Wed Jul 26 22:34:10 2017

Mojo: Update cached payload pointers on buffer relocation

Message payload buffers may be reallocated and thus relocated when
the payload is extended. Channel::Message was at construction time
internally caching and never updating pointers into the payload on
Windows and Mac. Not good!

This CL ensures that such cached pointers are updated in the event
of buffer reallocation.

BUG= 742369 

Change-Id: I1d5add44a72feccfeeaeabfc5cab910c58487c42
Reviewed-on: https://chromium-review.googlesource.com/587297
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489778}
[modify] https://crrev.com/2119883a801b2aae57ee3f9fe64a4228b14a86d0/mojo/edk/system/channel.cc
[modify] https://crrev.com/2119883a801b2aae57ee3f9fe64a4228b14a86d0/mojo/edk/system/message_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41830fd00c5d24392e7487c1db158040171e2f5e

commit 41830fd00c5d24392e7487c1db158040171e2f5e
Author: Ken Rockot <rockot@chromium.org>
Date: Thu Jul 27 01:21:59 2017

Reland "Reland "Mojo C++ Bindings: Dynamic message allocation""

This is a reland of 9ea314373dcd35d1a7a2dc48627d18831d6e789f
Original change's description:
> Reland "Mojo C++ Bindings: Dynamic message allocation"
> 
> This is a reland of 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0
> 
> Breakage was caused by a defunct test. Test has been deleted.
> 
> Original change's description:
> > Mojo C++ Bindings: Dynamic message allocation
> > 
> > Reduces the "prepare-to-serialize" bindings step to handle and
> > interface collection instead of full message size measurement.
> > 
> > Allows the serialized message buffer to be expanded dynamically
> > during serialization, and reworks the serialization code to support
> > writing into a buffer which may be reallocated (and thus relocated)
> > between operations.
> > 
> > Bug:  742369 
> > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > 
> > TBR=sky@chromium.org
> > 
> > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > Reviewed-on: https://chromium-review.googlesource.com/580568
> > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#489210}
> 
> Bug:  742369 
> Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> 
> TBR=yzshen@chromium.org
> TBR=sky@chromium.org
> 
> Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> Reviewed-on: https://chromium-review.googlesource.com/584038
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489326}

Bug:  742369 
Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel

TBR=yzshen@chromium.org
TBR=sky@chromium.org

Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
Reviewed-on: https://chromium-review.googlesource.com/587047
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489828}
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/cc/test/DEPS
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/cc/test/run_all_perftests.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/ui/base/BUILD.gn
[add] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/ui/base/test/DEPS
[modify] https://crrev.com/41830fd00c5d24392e7487c1db158040171e2f5e/ui/base/test/run_all_unittests.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/82c59e9ef97067e3db6853ef04509cd70d97ece1

commit 82c59e9ef97067e3db6853ef04509cd70d97ece1
Author: Ken Rockot <rockot@chromium.org>
Date: Thu Jul 27 18:29:33 2017

Revert "Reland "Reland "Mojo C++ Bindings: Dynamic message allocation"""

This reverts commit 41830fd00c5d24392e7487c1db158040171e2f5e.

Reason for revert: Still some uninitialized bytes hiding somewhere :(

Original change's description:
> Reland "Reland "Mojo C++ Bindings: Dynamic message allocation""
> 
> This is a reland of 9ea314373dcd35d1a7a2dc48627d18831d6e789f
> Original change's description:
> > Reland "Mojo C++ Bindings: Dynamic message allocation"
> > 
> > This is a reland of 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0
> > 
> > Breakage was caused by a defunct test. Test has been deleted.
> > 
> > Original change's description:
> > > Mojo C++ Bindings: Dynamic message allocation
> > > 
> > > Reduces the "prepare-to-serialize" bindings step to handle and
> > > interface collection instead of full message size measurement.
> > > 
> > > Allows the serialized message buffer to be expanded dynamically
> > > during serialization, and reworks the serialization code to support
> > > writing into a buffer which may be reallocated (and thus relocated)
> > > between operations.
> > > 
> > > Bug:  742369 
> > > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > > 
> > > TBR=sky@chromium.org
> > > 
> > > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > > Reviewed-on: https://chromium-review.googlesource.com/580568
> > > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > > Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#489210}
> > 
> > Bug:  742369 
> > Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > 
> > TBR=yzshen@chromium.org
> > TBR=sky@chromium.org
> > 
> > Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> > Reviewed-on: https://chromium-review.googlesource.com/584038
> > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > Reviewed-by: Ken Rockot <rockot@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#489326}
> 
> Bug:  742369 
> Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> 
> TBR=yzshen@chromium.org
> TBR=sky@chromium.org
> 
> Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
> Reviewed-on: https://chromium-review.googlesource.com/587047
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489828}

TBR=rockot@chromium.org

Change-Id: I231909ae275ecaee5d5dcc8264364b7f71bb64d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  742369 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/590467
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490021}
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/cc/test/DEPS
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/cc/test/run_all_perftests.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/ui/base/BUILD.gn
[delete] https://crrev.com/03767093b26951494b2ae2bdb33a7e9bdd351115/ui/base/test/DEPS
[modify] https://crrev.com/82c59e9ef97067e3db6853ef04509cd70d97ece1/ui/base/test/run_all_unittests.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c91af2d6b0544f9d20fa9b2b30d175c129c5786

commit 7c91af2d6b0544f9d20fa9b2b30d175c129c5786
Author: Ken Rockot <rockot@chromium.org>
Date: Fri Jul 28 09:54:40 2017

Reland "Reland "Reland "Mojo C++ Bindings: Dynamic message allocation"""

This is a reland of 41830fd00c5d24392e7487c1db158040171e2f5e

Because we must go deeper. (MSan complaints fixed for-realsies.)

Original change's description:
> Reland "Reland "Mojo C++ Bindings: Dynamic message allocation""
> 
> This is a reland of 9ea314373dcd35d1a7a2dc48627d18831d6e789f
> Original change's description:
> > Reland "Mojo C++ Bindings: Dynamic message allocation"
> > 
> > This is a reland of 0463c3dc61221f43758bb30f9a4e88b4e1e80fe0
> > 
> > Breakage was caused by a defunct test. Test has been deleted.
> > 
> > Original change's description:
> > > Mojo C++ Bindings: Dynamic message allocation
> > > 
> > > Reduces the "prepare-to-serialize" bindings step to handle and
> > > interface collection instead of full message size measurement.
> > > 
> > > Allows the serialized message buffer to be expanded dynamically
> > > during serialization, and reworks the serialization code to support
> > > writing into a buffer which may be reallocated (and thus relocated)
> > > between operations.
> > > 
> > > Bug:  742369 
> > > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > > 
> > > TBR=sky@chromium.org
> > > 
> > > Change-Id: I5cacee48343f565d68a77455872b0bf4e74e7674
> > > Reviewed-on: https://chromium-review.googlesource.com/580568
> > > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > > Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#489210}
> > 
> > Bug:  742369 
> > Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> > 
> > TBR=yzshen@chromium.org
> > TBR=sky@chromium.org
> > 
> > Change-Id: Ic3a55bae2977fdeec93fbeddd95b04dc6aabe880
> > Reviewed-on: https://chromium-review.googlesource.com/584038
> > Commit-Queue: Ken Rockot <rockot@chromium.org>
> > Reviewed-by: Ken Rockot <rockot@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#489326}
> 
> Bug:  742369 
> Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> 
> TBR=yzshen@chromium.org
> TBR=sky@chromium.org
> 
> Change-Id: Ief594662ed6d04c51eef8bbd72db291a9cdbf4a9
> Reviewed-on: https://chromium-review.googlesource.com/587047
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#489828}

Bug:  742369 
Change-Id: I9ec1abe53a0973ab651ec53cbdd3c80b1bb9f801
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel

TBR=yzshen@chromium.org
TBR=sky@chromium.org

Change-Id: I9ec1abe53a0973ab651ec53cbdd3c80b1bb9f801
Reviewed-on: https://chromium-review.googlesource.com/590649
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490340}
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/cc/test/DEPS
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/cc/test/run_all_perftests.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/array_traits.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/array_internal.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/array_serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/buffer.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/buffer.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/control_message_handler.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/control_message_proxy.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/fixed_buffer.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/fixed_buffer.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/handle_interface_serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/map_data_internal.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/map_serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/message.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/native_struct_data.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/native_struct_serialization.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/serialization_context.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/serialization_context.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/serialization_forward.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/serialization_util.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/string_serialization.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/unserialized_message_context.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/lib/unserialized_message_context.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/map_traits.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/message.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/struct_traits.h
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/bindings_perftest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/buffer_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/connector_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/data_view_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/router_test_util.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/sample_service_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/serialization_warning_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/struct_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/union_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/cpp/bindings/tests/wtf_types_unittest.cc
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/ui/base/BUILD.gn
[add] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/ui/base/test/DEPS
[modify] https://crrev.com/7c91af2d6b0544f9d20fa9b2b30d175c129c5786/ui/base/test/run_all_unittests.cc

Status: Fixed (was: Started)
Should stick for reals now.
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4cec5503d203268fbd8857a8861e56847965a08

commit f4cec5503d203268fbd8857a8861e56847965a08
Author: John Abd-El-Malek <jam@chromium.org>
Date: Sat Sep 02 00:26:58 2017

Remove ParamTraits::GetSize since it's not used anymore.

The buffer now grows after r490340.

BUG= 742369 ,  761117 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: If735bd46400b96aae9eff1a6cbd4748c73e6668b
Reviewed-on: https://chromium-review.googlesource.com/648249
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499355}
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/android_webview/common/android_webview_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/cc/ipc/cc_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/cc/ipc/cc_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/OWNERS
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/cast_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/cast_messages.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/common_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/common_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/importer/profile_import_process_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/safe_browsing/BUILD.gn
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/safe_browsing/ipc_protobuf_message_macros.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/chrome/common/safe_browsing/ipc_protobuf_message_unittest.cc
[delete] https://crrev.com/0c0a2d07aabf9576e6b925d6896fd984e01224bc/chrome/common/safe_browsing/protobuf_message_size_macros.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/autofill/content/common/autofill_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/cdm/common/cdm_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/guest_view/common/guest_view_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/nacl/common/OWNERS
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/nacl/common/nacl_host_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/nacl/common/nacl_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/nacl/common/nacl_types_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/network_hints/common/network_hints_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/printing/common/print_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/safe_browsing/common/safebrowsing_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/spellcheck/common/spellcheck_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/components/tracing/common/tracing_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/content_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/content_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/content_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/input/input_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/input/input_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/media/media_devices_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/media/media_stream_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/resource_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/common/resource_messages.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/public/common/common_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/content/public/common/common_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/extension_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/extension_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/extension_messages.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/api_permission.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/api_permission.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/manifest_permission.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/manifest_permission.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/set_disjunction_permission.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/settings_override_permission.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/extensions/common/permissions/settings_override_permission.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/gpu/ipc/common/gpu_command_buffer_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/gpu/ipc/common/gpu_command_buffer_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/gpu/ipc/common/gpu_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/gpu/ipc/common/gpu_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/README.md
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_macros.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_protobuf_utils.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_protobuf_utils_unittest.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_utils.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_utils.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_message_utils_unittest.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_mojo_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/ipc_mojo_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/mach_port_mac.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/mach_port_mac.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ipc/param_traits_macros.h
[delete] https://crrev.com/0c0a2d07aabf9576e6b925d6896fd984e01224bc/ipc/param_traits_size_macros.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/base/ipc/media_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/base/ipc/media_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/capture/ipc/capture_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/capture/ipc/capture_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/gpu/ipc/common/media_message_generator.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/gpu/ipc/common/media_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/media/gpu/ipc/common/media_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/mojo/public/cpp/bindings/lib/native_struct_serialization.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/mojo/public/cpp/bindings/tests/pickled_types_blink.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/mojo/public/cpp/bindings/tests/pickled_types_blink.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/mojo/public/cpp/bindings/tests/pickled_types_chromium.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/mojo/public/cpp/bindings/tests/pickled_types_chromium.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ppapi/proxy/ppapi_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ppapi/proxy/ppapi_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ppapi/proxy/ppapi_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/remoting/host/OWNERS
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/remoting/host/chromoting_messages.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/remoting/host/chromoting_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/remoting/host/chromoting_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/color/gfx_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/color/gfx_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/geometry/gfx_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/geometry/gfx_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/gfx_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/gfx_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/skia/gfx_skia_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/gfx/ipc/skia/gfx_skia_param_traits.h
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/latency/ipc/latency_info_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/ui/latency/ipc/latency_info_param_traits.h
[add] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/url/ipc/OWNERS
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/url/ipc/url_param_traits.cc
[modify] https://crrev.com/f4cec5503d203268fbd8857a8861e56847965a08/url/ipc/url_param_traits.h

Sign in to add a comment