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

Issue 762743 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 721365

Blocking:
issue 601863



Sign in to add a comment

Replace usage of CompositorFrameSinkSupport with mojom::CompositorFrameSink*

Project Member Reported by kylec...@chromium.org, Sep 7 2017

Issue description

Everywhere in the browser process where some class owns a CompositorFrameSinkSupport should be replaced with the class having a mojom::CompositorFrameSink*. The pointer can still be to a CompositorFrameSinkSupport to avoid any PostTask related delays. Any functionality not provided by the HostFrameSinkManager and mojom::CompositorFrameSink APIs, that requires interacting directly with CompositorFrameSinkSupport, won't work with an out of process display compositor and needs to be fixed.

Later, the mojom::CompositorFrameSink* can be switched to point to a mojom::CompositorFrameSinkPtr for an out of process display compositor without changing any function calls.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 12 2017

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

commit 9075b087fc7ec4eff9e176d28743df48736f5aad
Author: kylechar <kylechar@chromium.org>
Date: Tue Sep 12 16:59:10 2017

viz: Unify [mojom::]CompositorFrameSink[Support].

This CL makes CompositorFrameSinkSupport into a
mojom::CompositorFrameSink. CompositorFrameSinkSupport already
implements the interface so this is a trivial change.

This CL also replaces CompositorFrameSinkSupportClient with
mojom::CompositorFrameSinkClient. The two interfaces were almost
identical, minus WillDrawSurface() method, which was only used in
DelegatedFrameHost. WillDrawSurface() is replaced with a callback.

This simplifies [Root]CompostiorFrameSinkImpl.  CompositorFrameSinkImpl
only needs to hold the Binding/InterfacePtr and delegate calls into
CompositorFrameSinkSupport. The client can be passed in directly.

This CL also cleans up test implementations of
CompositorFrameSink[Support]Client.

Bug:  762743 
TBR: weiliangc@chromium.org
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ib4f1fd6a22badce9ae77a7bb484c6ab465e4d7c5
Reviewed-on: https://chromium-review.googlesource.com/641990
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Saman Sami <samans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501313}
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/android_webview/DEPS
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/android_webview/browser/hardware_renderer.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/android_webview/browser/surfaces_instance.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/android_webview/browser/surfaces_instance.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/cc/BUILD.gn
[delete] https://crrev.com/4925f29bb9ae672731a83fe974c1bab694b5806f/cc/test/fake_compositor_frame_sink_support_client.cc
[delete] https://crrev.com/4925f29bb9ae672731a83fe974c1bab694b5806f/cc/test/fake_compositor_frame_sink_support_client.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/host/DEPS
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/host/host_frame_sink_manager.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/host/host_frame_sink_manager.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/BUILD.gn
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_impl.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_impl.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_support.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_support.h
[delete] https://crrev.com/4925f29bb9ae672731a83fe974c1bab694b5806f/components/viz/service/frame_sinks/compositor_frame_sink_support_client.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_support_manager.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/frame_sinks/surface_synchronization_unittest.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/service/surfaces/surface_hittest_unittest.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/BUILD.gn
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/DEPS
[add] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/fake_compositor_frame_sink_client.cc
[add] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/fake_compositor_frame_sink_client.h
[add] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/mock_compositor_frame_sink_client.cc
[add] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/mock_compositor_frame_sink_client.h
[delete] https://crrev.com/4925f29bb9ae672731a83fe974c1bab694b5806f/components/viz/test/mock_compositor_frame_sink_support_client.cc
[delete] https://crrev.com/4925f29bb9ae672731a83fe974c1bab694b5806f/components/viz/test/mock_compositor_frame_sink_support_client.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/components/viz/test/test_layer_tree_frame_sink.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/content/browser/renderer_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/content/renderer/android/synchronous_layer_tree_frame_sink.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/ui/android/DEPS
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/ui/android/delegated_frame_host_android.h
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/ui/aura/local/DEPS
[modify] https://crrev.com/9075b087fc7ec4eff9e176d28743df48736f5aad/ui/aura/local/layer_tree_frame_sink_local.h

Comment 2 by fsamuel@google.com, Oct 24 2017

Owner: kylec...@chromium.org
Status: Assigned (was: Available)
Assigned to kylechar@ for triage. Is there more work to do here.
Status: WontFix (was: Assigned)
It's an incremental step towards viz. Now that we have display compositor working in the gpu it's probably not necessary to make this incremental step?

Comment 4 by laforge@google.com, Nov 8 2017

Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.

Sign in to add a comment