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

Issue 2890913002: Add CompositorFrameSinkClientBinding To Be Used By FrameGenerator (Closed)

Created:
3 years, 7 months ago by Alex Z.
Modified:
3 years, 7 months ago
Reviewers:
Fady Samuel, sky
CC:
chromium-reviews, rjkroege, Fady Samuel
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Add CompositorFrameSinkClientBinding To Be Used By FrameGenerator Added CompositorFrameSinkClientBinding interface. CompositorFrameSinkClientBinding's default implementation holds interface pointers to DisplayPrivate and MojoCompositorFrameSink. It binds FrameGenerator to a MojoCompositorFrameSinkClient request. PlatformDisplayDefault sets up the mojo connections before passing them to the binding object. FrameGenerator unit tests use a mock of CompositorFrameSinkClientBinding to keep track of the submitted frames. FrameGenerator no longer uses cc::CompositorFrameSink after this CL. cc::CompositorFrameSink should not be used by anything other than LayerTreeHost. BUG=721810 Review-Url: https://codereview.chromium.org/2890913002 Cr-Commit-Position: refs/heads/master@{#473231} Committed: https://chromium.googlesource.com/chromium/src/+/0bcca1e6eb7d275c808c26a37f0878e0b66be1d9

Patch Set 1 #

Patch Set 2 : virtual destructor #

Total comments: 8

Patch Set 3 : Address comments #

Total comments: 10

Patch Set 4 : Address Comments In Unit Tests #

Patch Set 5 : BeginFrameDidNotSwap #

Patch Set 6 : BeginFrameDidNotSwap #

Total comments: 20

Patch Set 7 : Address Comments In Tests #

Total comments: 14

Patch Set 8 : Address Comments #

Patch Set 9 : LastBeginFrameAck() #

Total comments: 3

Patch Set 10 : Implements MojoCFS #

Patch Set 11 : Cleanup #

Patch Set 12 : More Cleanup #

Patch Set 13 : FrameGenerator::SetNeedsBeginFrame #

Total comments: 6

Patch Set 14 : Address Comments #

Total comments: 10

Patch Set 15 : Address nits #

Total comments: 2

Patch Set 16 : Remove redundant SetNeedsBeginFrame #

Unified diffs Side-by-side diffs Delta from patch set Stats (+240 lines, -427 lines) Patch
M services/ui/ws/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -2 lines 0 comments Download
A services/ui/ws/compositor_frame_sink_client_binding.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +51 lines, -0 lines 0 comments Download
A services/ui/ws/compositor_frame_sink_client_binding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +50 lines, -0 lines 0 comments Download
D services/ui/ws/display_client_compositor_frame_sink.h View 1 2 1 chunk +0 lines, -73 lines 0 comments Download
D services/ui/ws/display_client_compositor_frame_sink.cc View 1 2 1 chunk +0 lines, -105 lines 0 comments Download
M services/ui/ws/frame_generator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +16 lines, -29 lines 0 comments Download
M services/ui/ws/frame_generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +21 lines, -50 lines 0 comments Download
M services/ui/ws/frame_generator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +93 lines, -160 lines 0 comments Download
M services/ui/ws/platform_display_default.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +7 lines, -8 lines 0 comments Download

Messages

Total messages: 69 (38 generated)
Alex Z.
sky@: PTAL. Thank you!
3 years, 7 months ago (2017-05-17 20:03:03 UTC) #3
Fady Samuel
https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/platform_display_default.cc File services/ui/ws/platform_display_default.cc (left): https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/platform_display_default.cc#oldcode266 services/ui/ws/platform_display_default.cc:266: base::MakeUnique<DisplayClientCompositorFrameSink>( Do you still need DisplayClientCompositorFrameSink or can you ...
3 years, 7 months ago (2017-05-17 20:08:18 UTC) #6
Fady Samuel
https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/frame_generator.h File services/ui/ws/frame_generator.h (right): https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/frame_generator.h#newcode66 services/ui/ws/frame_generator.h:66: cc::LocalSurfaceIdAllocator id_allocator_; Nothing uses these? https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/frame_generator.h#newcode68 services/ui/ws/frame_generator.h:68: gfx::Size last_submitted_frame_size_; ...
3 years, 7 months ago (2017-05-17 20:11:43 UTC) #7
Alex Z.
https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/frame_generator.h File services/ui/ws/frame_generator.h (right): https://codereview.chromium.org/2890913002/diff/20001/services/ui/ws/frame_generator.h#newcode66 services/ui/ws/frame_generator.h:66: cc::LocalSurfaceIdAllocator id_allocator_; On 2017/05/17 20:11:43, Fady Samuel wrote: > ...
3 years, 7 months ago (2017-05-17 20:21:18 UTC) #8
Fady Samuel
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode23 services/ui/ws/compositor_frame_sink_client_binding.h:23: class CompositorFrameSinkClientBinding { What if this implements cc::mojom::MojoCompositorFrameSink? That ...
3 years, 7 months ago (2017-05-17 20:33:04 UTC) #9
Alex Z.
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode23 services/ui/ws/compositor_frame_sink_client_binding.h:23: class CompositorFrameSinkClientBinding { On 2017/05/17 20:33:04, Fady Samuel wrote: ...
3 years, 7 months ago (2017-05-17 20:52:01 UTC) #10
Alex Z.
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode23 services/ui/ws/compositor_frame_sink_client_binding.h:23: class CompositorFrameSinkClientBinding { On 2017/05/17 20:33:04, Fady Samuel wrote: ...
3 years, 7 months ago (2017-05-17 21:20:25 UTC) #11
Alex Z.
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/frame_generator.cc#newcode83 services/ui/ws/frame_generator.cc:83: if (begin_frame_args.type == cc::BeginFrameArgs::MISSED) On 2017/05/17 20:33:04, Fady Samuel ...
3 years, 7 months ago (2017-05-17 21:30:53 UTC) #13
Fady Samuel
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode23 services/ui/ws/compositor_frame_sink_client_binding.h:23: class CompositorFrameSinkClientBinding { On 2017/05/17 20:52:01, Alex Z. wrote: ...
3 years, 7 months ago (2017-05-18 11:55:27 UTC) #17
Fady Samuel
https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/40001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode23 services/ui/ws/compositor_frame_sink_client_binding.h:23: class CompositorFrameSinkClientBinding { On 2017/05/17 21:20:24, Alex Z. wrote: ...
3 years, 7 months ago (2017-05-18 11:55:28 UTC) #18
Alex Z.
Thanks for taking the time, Fady! I have addressed your comments in frame_generator_unittest.cc. I'm working ...
3 years, 7 months ago (2017-05-18 14:32:23 UTC) #21
Fady Samuel
https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc File services/ui/ws/frame_generator_unittest.cc (left): https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc#oldcode140 services/ui/ws/frame_generator_unittest.cc:140: FrameGeneratorTest() {} nit: default https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc File services/ui/ws/frame_generator_unittest.cc (right): https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc#newcode12 ...
3 years, 7 months ago (2017-05-18 14:48:09 UTC) #22
Alex Z.
https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc File services/ui/ws/frame_generator_unittest.cc (left): https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc#oldcode140 services/ui/ws/frame_generator_unittest.cc:140: FrameGeneratorTest() {} On 2017/05/18 14:48:08, Fady Samuel wrote: > ...
3 years, 7 months ago (2017-05-18 15:09:15 UTC) #24
Alex Z.
https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc File services/ui/ws/frame_generator_unittest.cc (right): https://codereview.chromium.org/2890913002/diff/120001/services/ui/ws/frame_generator_unittest.cc#newcode225 services/ui/ws/frame_generator_unittest.cc:225: EXPECT_EQ(expected_ack, LastBeginFrameAck(binding())); On 2017/05/18 14:48:08, Fady Samuel wrote: > ...
3 years, 7 months ago (2017-05-18 15:11:13 UTC) #28
Fady Samuel
https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode21 services/ui/ws/compositor_frame_sink_client_binding.h:21: class CompositorFrameSinkClientBinding { Back to my earlier question. Maybe ...
3 years, 7 months ago (2017-05-18 17:03:57 UTC) #31
Alex Z.
https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode21 services/ui/ws/compositor_frame_sink_client_binding.h:21: class CompositorFrameSinkClientBinding { On 2017/05/18 17:03:57, Fady Samuel wrote: ...
3 years, 7 months ago (2017-05-18 17:36:19 UTC) #32
Alex Z.
I'm looking into the failed tests. https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/160001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode21 services/ui/ws/compositor_frame_sink_client_binding.h:21: class CompositorFrameSinkClientBinding { ...
3 years, 7 months ago (2017-05-18 18:00:34 UTC) #35
Fady Samuel
https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode21 services/ui/ws/compositor_frame_sink_client_binding.h:21: class CompositorFrameSinkClientBinding Ahh this is pretty cool. Maybe we ...
3 years, 7 months ago (2017-05-19 11:51:04 UTC) #44
Fady Samuel
https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/frame_generator.cc#newcode95 services/ui/ws/frame_generator.cc:95: if (!frame.render_pass_list.empty()) It is no longer possible for render_pass_list ...
3 years, 7 months ago (2017-05-19 12:10:15 UTC) #45
Alex Z.
https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/240001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode21 services/ui/ws/compositor_frame_sink_client_binding.h:21: class CompositorFrameSinkClientBinding On 2017/05/19 11:51:03, Fady Samuel wrote: > ...
3 years, 7 months ago (2017-05-19 13:26:53 UTC) #47
Fady Samuel
LGTM overall + nits https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode5 services/ui/ws/compositor_frame_sink_client_binding.h:5: #ifndef SERVICES_UI_WS_COMPOSITOR_FRAME_SINK_CLIENT_BINDING_H_ Rename file to ...
3 years, 7 months ago (2017-05-19 14:21:52 UTC) #49
Alex Z.
https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/compositor_frame_sink_client_binding.h File services/ui/ws/compositor_frame_sink_client_binding.h (right): https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/compositor_frame_sink_client_binding.h#newcode5 services/ui/ws/compositor_frame_sink_client_binding.h:5: #ifndef SERVICES_UI_WS_COMPOSITOR_FRAME_SINK_CLIENT_BINDING_H_ On 2017/05/19 14:21:51, Fady Samuel wrote: > ...
3 years, 7 months ago (2017-05-19 14:25:23 UTC) #50
Alex Z.
https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/frame_generator.cc File services/ui/ws/frame_generator.cc (right): https://codereview.chromium.org/2890913002/diff/260001/services/ui/ws/frame_generator.cc#newcode64 services/ui/ws/frame_generator.cc:64: std::unique_ptr<cc::mojom::MojoCompositorFrameSink> binding) { On 2017/05/19 14:21:51, Fady Samuel wrote: ...
3 years, 7 months ago (2017-05-19 14:37:15 UTC) #53
Fady Samuel
LGTM, yea, ignore my renaming suggestion. This is fine.
3 years, 7 months ago (2017-05-19 14:38:57 UTC) #54
Fady Samuel
LGTM, yea, ignore my renaming suggestion. This is fine.
3 years, 7 months ago (2017-05-19 14:38:58 UTC) #55
Fady Samuel
https://codereview.chromium.org/2890913002/diff/280001/services/ui/ws/compositor_frame_sink_client_binding.cc File services/ui/ws/compositor_frame_sink_client_binding.cc (right): https://codereview.chromium.org/2890913002/diff/280001/services/ui/ws/compositor_frame_sink_client_binding.cc#newcode38 services/ui/ws/compositor_frame_sink_client_binding.cc:38: compositor_frame_sink_->SetNeedsBeginFrame(false); Oops, just noticed this. It doesn't make sense ...
3 years, 7 months ago (2017-05-19 14:40:33 UTC) #56
Alex Z.
https://codereview.chromium.org/2890913002/diff/280001/services/ui/ws/compositor_frame_sink_client_binding.cc File services/ui/ws/compositor_frame_sink_client_binding.cc (right): https://codereview.chromium.org/2890913002/diff/280001/services/ui/ws/compositor_frame_sink_client_binding.cc#newcode38 services/ui/ws/compositor_frame_sink_client_binding.cc:38: compositor_frame_sink_->SetNeedsBeginFrame(false); On 2017/05/19 14:40:33, Fady Samuel wrote: > Oops, ...
3 years, 7 months ago (2017-05-19 14:42:23 UTC) #58
Alex Z.
sky@: PTAL at BUILD.gn and platform_display_default.cc. Thank you!
3 years, 7 months ago (2017-05-19 14:43:34 UTC) #60
sky
LGTM
3 years, 7 months ago (2017-05-19 15:16:23 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2890913002/300001
3 years, 7 months ago (2017-05-19 17:25:56 UTC) #66
commit-bot: I haz the power
3 years, 7 months ago (2017-05-19 17:34:16 UTC) #69
Message was sent while issue was closed.
Committed patchset #16 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/0bcca1e6eb7d275c808c26a37f08...

Powered by Google App Engine
This is Rietveld 408576698