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

Issue 611091 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
mus

Blocking:
issue 610891



Sign in to add a comment

mus-ws: Introduce notion of embedded surfaces to mus::Windows

Project Member Reported by fsam...@chromium.org, May 11 2016

Issue description

Currently, mus::Windows know about underlay surfaces and client surfaces. I'd like to introduce an embedded surface concept to allow mus::WindowSurfaces to refer to surfaces that are not mus::Windows.
 
Blocking: 610891
I don't understand. Can't the mus::Window have a collection of surface instance? Do we have a mus::WindowSurface class?

Which side of the musgpu/musws split does the surface association exist on? i.e.: do we need to have mojom to schlep the surface collection for a window beween processes?
We do have a mus::WindowSurface. You can create one from any process at any time. A WindowSurface is just a pretty wrapper around two MessagePipes. mus::Window has an AttachSurface method and you pass in a "WindowSurfaceBinding" (the other side of the two MessagePipes).

We have security checks in the window server (mus-gpu in the future) that verify that a CompositorFrame can only refer to surfaces within its subtree. Otherwise, you could have a mus::Window go full screen and embed Ash SysUI for example which is BAD as it could phish the user.

Thus, apps must declare the surfaces they're using and "attach/bind" them to a Window meaning "This window is allowed to reference these surfaces".
Thanks for the explanation. I was confused by WindowSurface vs WindowSurfaces. 

Comment 5 by danakj@chromium.org, May 11 2016

Cc: enne@chromium.org jbau...@chromium.org
Surface ids all come from the privileged process (browser process today).

AKA DelegatedFrameHost knows about its renderer, receives surfaces from there, assigns ids to them. Ditto for RenderWidgetHostViewChildFrame. The priviledged process knows the hierarchy of these things too, right?

So why do we have apps declaring surfaces to the mus process? Shouldn't it have the information it needs? We could just give different namespaces to subtrees or something, then it would be impossible to refer to a surface id in another tree or ancestor?
Using different namespaces could solve the problem, yes.
Labels: -mustash2 tadpole
Status: WontFix (was: Untriaged)
fsamuel@, sadrul@ We decided to resolve this a different way right? By the "inherited window event dispatching"?

Re-open if you disagree.
Yea, I think it's fair to close this. Although some of the discussion here is useful.
Blocking:
Components: -MUS Internals>Services>WindowService

Sign in to add a comment