As proposed in https://groups.google.com/a/chromium.org/forum/#!topic/chromium-mojo/ruS9e8CMiws
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
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
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
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
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
Re-opening since this is getting reverted for now
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
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
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
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
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
Should stick for reals now.
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
Comment 1 by bugdroid1@chromium.org
, Jul 17 2017