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

Issue 718443 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 702657
issue 710826



Sign in to add a comment

Refactor exo::CompositorFrameSink*

Project Member Reported by penghuang@chromium.org, May 4 2017

Issue description

Right now, we have CompositorFrameSinkHolder and CompositorFrameSink in exo. To create them, we need access ContextFactory and ContextFactoryPrivate, but the ContextFactoryPrivate is not accessible in
Mushrome and Mustash. So we should refactor exo::CompositorFrameSink to
avoid using ContextFactoryPrivate.
 
I plan to add a new function CreateCompositorFrameSink in aura::Window, and use it to create frame
sink for the aura::window. So the user of it doesn't need to know and access ContextFactory*.


Blocking: 702657
Project Member

Comment 3 by bugdroid1@chromium.org, May 10 2017

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

commit 4c5a2a2c64c2b54355139eb9970fb1992e8363bd
Author: penghuang <penghuang@chromium.org>
Date: Wed May 10 04:41:55 2017

Implement aura::Window::CreateCompositorFrameSink()

Currently, the exo creates cc::CompositorFrameSinkSupport by itself.
To create cc::CompositorFrameSinkSupport, exo has to access
ContextFactoryPrivate for allocating a FrameSinkId and accessing
cc::SurfaceManager, etc. But all those objects are not available in
Mus clients, so the exo doesn't work in Mushrome and Mustash
To support mushrome and mustash, this CL adds
aura::Window::CreateCompositorFrameSink(), this function hides the
detail of CompositorFrameSink creation within Cash and Mus.

Note: this CL only implements aura::Window::CreateCompositorFrameSink()
for Cash. A follow up CL will implements it for Mus.

BUG= 718443 
TEST=tested exo with weston-terminal, wayland_rects_client
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2868473002
Cr-Commit-Position: refs/heads/master@{#470450}

[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/BUILD.gn
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/buffer.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/buffer.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/buffer_unittest.cc
[delete] https://crrev.com/25488964c9f5595d2f70edf0f25c502e9acdc281/components/exo/compositor_frame_sink.cc
[delete] https://crrev.com/25488964c9f5595d2f70edf0f25c502e9acdc281/components/exo/compositor_frame_sink.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/compositor_frame_sink_holder.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/compositor_frame_sink_holder.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/surface.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/components/exo/surface.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/BUILD.gn
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/DEPS
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/env.cc
[add] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/local/DEPS
[add] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/local/compositor_frame_sink_local.cc
[add] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/local/compositor_frame_sink_local.h
[add] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/local/window_port_local.cc
[rename] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/local/window_port_local.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/test/aura_test_helper.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/window.cc
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/window.h
[modify] https://crrev.com/4c5a2a2c64c2b54355139eb9970fb1992e8363bd/ui/aura/window_port.h
[delete] https://crrev.com/25488964c9f5595d2f70edf0f25c502e9acdc281/ui/aura/window_port_local.cc

Status: Fixed (was: Assigned)
Blocking:
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment