Chromium Code Reviews
DescriptionRemove DCHECKs in SurfaceManager::RegisterFrameSinkHierarchy
SurfaceManager::RegisterFrameSinkHierarchy needs a valid parent and child
FrameSinkId. In other words, a hierarchy cannot be established until the parent
and child have SurfaceFactories. This isn't strictly a necessary requirement.
In Mus+Ash, all ServerWindows have a unique FrameSinkId, but not all
ServerWindows have corresponding CompositorFrames. If we only registered
BeginFrame hierarchies based on valid FrameSinkIds from the perspective of
SurfaceManager, then we'd have to know a priori which Windows will submit
CompositorFrames and WAIT for them to create CompositorFrameSinks which
complicates Mus-Gpu restartability somewhat.
Speaking to Enne, it sounds like we can simply drop these DCHECKs, they're
nice-to-haves but not strictly necessary. This also makes reparenting windows
MUCH MUCH easier in the window server as we don't need to worry about having to
update BeginFrame hierarchies to correspond to the nearest Surface based
ancestor on reparenting.
In a subsequent CL, AddChildFrame and RemoveChildFrameSink will move off
MojoCompositorFrameSinkPrivate onto DisplayCompositor.
BUG=653895
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2714553005
Cr-Commit-Position: refs/heads/master@{#452596}
Committed: https://chromium.googlesource.com/chromium/src/+/974e4a0d982d7502fe46f0db7621b390b38e1efc
Patch Set 1 #
Messages
Total messages: 11 (5 generated)
|
|||||||||||||||||||