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

Issue 856705 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Cleanup FrameSinkManagerImpl+friends

Project Member Reported by kylec...@chromium.org, Jun 26 2018

Issue description

We've added a lot of code to FrameSinkManagerImpl, DisplayProvider, etc. while getting OOP-D ready to launch. I think there are some areas where it's possible to better structure code with some minor refactoring.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 26 2018

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

commit 4a458a69ceb15f48bf104437f900992875f5c5b0
Author: kylechar <kylechar@chromium.org>
Date: Tue Jun 26 22:08:31 2018

Change how RootCompositorFrameSinkImpl is created.

Remove code for creating a RootCompositorFrameSinkImpl from
FrameSinkManagerImpl. FrameSinkManagerImpl is already a complicated
class and it just needs to be manage CompositorFrameSinks that have been
created. The complexity of creating a RootCompositorFrameSinkImpl is now
contained in the class itself.

Add a static RootCompositorFrameSinkImpl::Create() that handles creating
the BeginFrameSource, Display and RootCompositorFrameSinkImpl. Move all
BeginFrameSource creation into this one function. Also split the
intialization of RootCompositorFrameSinkImpl so it can be created before
a Display exists.

Bug: 856705
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I5b24658232c40d5f4c7801cf6562611eb4a2c996
Reviewed-on: https://chromium-review.googlesource.com/1115340
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570548}
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/display_embedder/display_provider.h
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/display_embedder/gpu_display_provider.cc
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/display_embedder/gpu_display_provider.h
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/frame_sinks/frame_sink_manager_impl.cc
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/test/test_display_provider.cc
[modify] https://crrev.com/4a458a69ceb15f48bf104437f900992875f5c5b0/components/viz/test/test_display_provider.h

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 29 2018

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

commit e36fcfde9d64bf05b8b75b2f2a7b348b667b9b31
Author: kylechar <kylechar@chromium.org>
Date: Fri Jun 29 15:12:01 2018

Remove CompositorFrameSinkSupport destruction callback.

The callback was added so we could use CompositorFrameSinkSupport* in
HostFrameSinkManager. This functionality never ended up getting used for
anything beyond a DCHECK. Remove it as it's not neccessary.

Bug: 856705
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Ib4c100744cdf7964283eef941567513a1034c10c
Reviewed-on: https://chromium-review.googlesource.com/1119097
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571478}
[modify] https://crrev.com/e36fcfde9d64bf05b8b75b2f2a7b348b667b9b31/components/viz/host/host_frame_sink_manager.cc
[modify] https://crrev.com/e36fcfde9d64bf05b8b75b2f2a7b348b667b9b31/components/viz/host/host_frame_sink_manager.h
[modify] https://crrev.com/e36fcfde9d64bf05b8b75b2f2a7b348b667b9b31/components/viz/service/frame_sinks/compositor_frame_sink_support.cc
[modify] https://crrev.com/e36fcfde9d64bf05b8b75b2f2a7b348b667b9b31/components/viz/service/frame_sinks/compositor_frame_sink_support.h

Sign in to add a comment