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

Issue 1513643010: cc:: Add remote mode to the compositor (Closed)

Created:
5 years ago by Khushal
Modified:
4 years, 10 months ago
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc:: Add remote mode to the compositor. - Added RemoteChannelMain and RemoteChannelImpl to serialize and transmit inter-proxy messages between the main and impl components of the compositor using protobufs. - Added RemoteChannelHost to be used by the cc embedder as the API for interacting with the impl components of the remote compositor. - Added tests to verify the initialization and shutdown sequence for the remote compositor. BUG=550687 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/e0a38d4e0b43b05e76c4544d9e715107c8e0a50f Cr-Commit-Position: refs/heads/master@{#372236}

Patch Set 1 #

Total comments: 24

Patch Set 2 : Add test for shutdown by RemoteChannelHost. #

Patch Set 3 : Addressing comments. #

Patch Set 4 : Rebase. #

Patch Set 5 : Use LayerTreeSettings::ToProtobuf, update comments. #

Total comments: 4

Patch Set 6 : Update comments. #

Patch Set 7 : Rebase. #

Total comments: 18

Patch Set 8 : Addresed comments. #

Total comments: 50

Patch Set 9 : Addressing comments. #

Total comments: 15

Patch Set 10 : Addressed erick's comments. #

Patch Set 11 : Rebase. #

Patch Set 12 : Update accessor for TaskRunnerProvider in LayerTreeTest. #

Patch Set 13 : Add missing include #

Patch Set 14 : Add missing export to RemoteProtoChannel. #

Patch Set 15 : Exports not needed in FakeRemoteChannel class. #

Total comments: 4

Patch Set 16 : Addressed vmpstr's comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1586 lines, -145 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 4 chunks +10 lines, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -0 lines 0 comments Download
M cc/layers/layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/scrollbar_layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +3 lines, -3 lines 0 comments Download
M cc/layers/texture_layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M cc/proto/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M cc/proto/compositor_message.proto View 2 chunks +3 lines, -8 lines 0 comments Download
A cc/proto/compositor_message_to_impl.proto View 1 2 3 4 5 6 7 8 1 chunk +59 lines, -0 lines 0 comments Download
A + cc/proto/compositor_message_to_main.proto View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -3 lines 0 comments Download
M cc/test/fake_layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M cc/test/layer_tree_pixel_test.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -3 lines 0 comments Download
M cc/test/layer_tree_test.h View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +35 lines, -12 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +143 lines, -23 lines 0 comments Download
M cc/test/proxy_main_for_test.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +13 lines, -1 line 0 comments Download
M cc/test/proxy_main_for_test.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +22 lines, -5 lines 0 comments Download
A cc/test/remote_channel_impl_for_test.h View 1 2 3 4 5 6 7 8 1 chunk +43 lines, -0 lines 0 comments Download
A cc/test/remote_channel_impl_for_test.cc View 1 2 3 4 5 6 7 8 1 chunk +43 lines, -0 lines 0 comments Download
A cc/test/remote_proto_channel_bridge.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +66 lines, -0 lines 0 comments Download
A cc/test/remote_proto_channel_bridge.cc View 1 2 3 4 5 6 7 8 1 chunk +77 lines, -0 lines 0 comments Download
M cc/test/test_hooks.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +13 lines, -0 lines 0 comments Download
M cc/test/threaded_channel_for_test.h View 1 2 2 chunks +5 lines, -1 line 0 comments Download
M cc/test/threaded_channel_for_test.cc View 1 2 2 chunks +8 lines, -5 lines 0 comments Download
M cc/trees/compositor_mode.h View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -4 lines 0 comments Download
M cc/trees/layer_tree_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +29 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +90 lines, -8 lines 0 comments Download
M cc/trees/layer_tree_host_common_perftest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_perftest.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +10 lines, -10 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest_context.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -8 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_copyrequest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_proxy.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest_record_gpu_histogram.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_scroll.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +14 lines, -14 lines 0 comments Download
M cc/trees/proxy_impl_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/proxy_main.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M cc/trees/proxy_main.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +13 lines, -1 line 0 comments Download
A cc/trees/remote_channel_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +203 lines, -0 lines 0 comments Download
A cc/trees/remote_channel_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +344 lines, -0 lines 0 comments Download
A cc/trees/remote_channel_main.h View 1 2 3 4 5 6 7 8 1 chunk +82 lines, -0 lines 0 comments Download
A cc/trees/remote_channel_main.cc View 1 2 3 4 5 6 7 8 1 chunk +140 lines, -0 lines 0 comments Download
A cc/trees/remote_channel_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +40 lines, -0 lines 0 comments Download
M cc/trees/remote_proto_channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +8 lines, -2 lines 0 comments Download
M cc/trees/threaded_channel.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -3 lines 0 comments Download
M cc/trees/threaded_channel.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -10 lines 0 comments Download
M ui/android/resources/resource_manager_impl_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 48 (17 generated)
Khushal
5 years ago (2015-12-10 10:31:30 UTC) #5
David Trainor- moved to gerrit
https://codereview.chromium.org/1513643010/diff/1/cc/cc.gyp File cc/cc.gyp (right): https://codereview.chromium.org/1513643010/diff/1/cc/cc.gyp#newcode609 cc/cc.gyp:609: 'proto/compositor_message_to_impl.proto', Replace tabs with spaces https://codereview.chromium.org/1513643010/diff/1/cc/cc.gyp#newcode613 cc/cc.gyp:613: 'proto/layer_tree_settings.proto', alphabetical ...
5 years ago (2015-12-11 17:13:45 UTC) #6
Khushal
https://codereview.chromium.org/1513643010/diff/1/cc/cc.gyp File cc/cc.gyp (right): https://codereview.chromium.org/1513643010/diff/1/cc/cc.gyp#newcode609 cc/cc.gyp:609: 'proto/compositor_message_to_impl.proto', On 2015/12/11 17:13:44, David Trainor wrote: > Replace ...
5 years ago (2015-12-11 22:49:37 UTC) #7
David Trainor- moved to gerrit
looks fine to me. :) https://chromiumcodereview.appspot.com/1513643010/diff/80001/cc/trees/layer_tree_host.cc File cc/trees/layer_tree_host.cc (right): https://chromiumcodereview.appspot.com/1513643010/diff/80001/cc/trees/layer_tree_host.cc#newcode268 cc/trees/layer_tree_host.cc:268: void LayerTreeHost::ToProtobuf() { Add ...
5 years ago (2015-12-15 00:52:14 UTC) #9
Khushal
https://codereview.chromium.org/1513643010/diff/80001/cc/trees/layer_tree_host.cc File cc/trees/layer_tree_host.cc (right): https://codereview.chromium.org/1513643010/diff/80001/cc/trees/layer_tree_host.cc#newcode268 cc/trees/layer_tree_host.cc:268: void LayerTreeHost::ToProtobuf() { On 2015/12/15 00:52:14, David Trainor wrote: ...
5 years ago (2015-12-15 05:05:30 UTC) #10
Khushal
vmpstr@, could you take a look at this as well? Thanks! :)
4 years, 11 months ago (2016-01-05 22:25:04 UTC) #11
vmpstr
On 2016/01/05 22:25:04, Khushal wrote: > vmpstr@, could you take a look at this as ...
4 years, 11 months ago (2016-01-06 23:12:18 UTC) #12
vmpstr
Can you please link a doc describing the design again? I know I had it ...
4 years, 11 months ago (2016-01-07 19:08:12 UTC) #13
Khushal
On 2016/01/07 19:08:12, vmpstr wrote: > Can you please link a doc describing the design ...
4 years, 11 months ago (2016-01-07 19:36:12 UTC) #14
Khushal
Updated the patch like we discussed to use a LayerTreeHost on the client as well ...
4 years, 11 months ago (2016-01-08 21:17:19 UTC) #15
vmpstr
I haven't looked at the tests yet, I'm just trying to understand what you have ...
4 years, 11 months ago (2016-01-11 21:50:16 UTC) #16
Khushal
https://codereview.chromium.org/1513643010/diff/140001/cc/proto/compositor_message_to_impl.proto File cc/proto/compositor_message_to_impl.proto (right): https://codereview.chromium.org/1513643010/diff/140001/cc/proto/compositor_message_to_impl.proto#newcode1 cc/proto/compositor_message_to_impl.proto:1: // Copyright 2015 The Chromium Authors. All rights reserved. ...
4 years, 11 months ago (2016-01-13 02:07:12 UTC) #17
Khushal
+ericrk
4 years, 11 months ago (2016-01-14 21:35:44 UTC) #19
ericrk
A few more comments - overall looks good. There's a bit more "if (remote) ...
4 years, 11 months ago (2016-01-20 22:32:29 UTC) #20
Khushal
I had actually considered using a derived classes for running these LayerTreeTests, but going forward ...
4 years, 11 months ago (2016-01-22 01:03:24 UTC) #21
ericrk
Thanks for the details - makes sense to me now. This LGTM Thanks! https://codereview.chromium.org/1513643010/diff/160001/cc/test/layer_tree_test.cc File ...
4 years, 11 months ago (2016-01-22 18:36:59 UTC) #22
Khushal
On 2016/01/22 18:36:59, ericrk wrote: > Thanks for the details - makes sense to me ...
4 years, 11 months ago (2016-01-25 16:41:51 UTC) #23
David Trainor- moved to gerrit
ui/android/resources lgtm
4 years, 11 months ago (2016-01-25 17:47:48 UTC) #24
Khushal
friendly ping! :)
4 years, 11 months ago (2016-01-27 00:25:22 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1513643010/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1513643010/220001
4 years, 11 months ago (2016-01-28 06:00:42 UTC) #27
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/165660)
4 years, 11 months ago (2016-01-28 06:33:29 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1513643010/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1513643010/240001
4 years, 10 months ago (2016-01-28 19:36:00 UTC) #31
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/137732)
4 years, 10 months ago (2016-01-28 20:51:51 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1513643010/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1513643010/260001
4 years, 10 months ago (2016-01-28 21:14:35 UTC) #35
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1513643010/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1513643010/280001
4 years, 10 months ago (2016-01-28 22:06:25 UTC) #37
vmpstr
lgtm with a couple of comments https://codereview.chromium.org/1513643010/diff/280001/cc/test/layer_tree_test.cc File cc/test/layer_tree_test.cc (right): https://codereview.chromium.org/1513643010/diff/280001/cc/test/layer_tree_test.cc#newcode476 cc/test/layer_tree_test.cc:476: default: nit: Don't ...
4 years, 10 months ago (2016-01-28 22:48:27 UTC) #38
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-01-28 23:31:18 UTC) #40
Khushal
Done. Thanks Vlad! https://codereview.chromium.org/1513643010/diff/280001/cc/test/layer_tree_test.cc File cc/test/layer_tree_test.cc (right): https://codereview.chromium.org/1513643010/diff/280001/cc/test/layer_tree_test.cc#newcode476 cc/test/layer_tree_test.cc:476: default: On 2016/01/28 22:48:27, vmpstr wrote: ...
4 years, 10 months ago (2016-01-29 00:08:00 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1513643010/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1513643010/300001
4 years, 10 months ago (2016-01-29 00:09:34 UTC) #44
commit-bot: I haz the power
Committed patchset #16 (id:300001)
4 years, 10 months ago (2016-01-29 01:15:13 UTC) #46
commit-bot: I haz the power
4 years, 10 months ago (2016-01-29 01:16:21 UTC) #48
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/e0a38d4e0b43b05e76c4544d9e715107c8e0a50f
Cr-Commit-Position: refs/heads/master@{#372236}

Powered by Google App Engine
This is Rietveld 408576698