[go: nahoru, domu]

Move ReferencedSurfaceTracker into GpuCompositorFrameSink.

Move the logic for adding/removing references from the client to the
GPU. We already pass a list of referenced surfaces, so just use that
list to compute a diff from the last submitted frame. This will
simplifying all clients and make removing SurfaceSequences easier in the
future. Add ReferencedSurfaceTracker to simplify this.

Also move add/removing top-level root references into
GpuCompositorFrameSink. This simplifies code in the mus Window Server.
FrameGenerator just needs to fill in
CompositorFrameMetadata::referenced_surfaces and clients that use
SurfaceLayers should just work.

This change only affects mustash, since non-mustash Chrome doesn't use
the Mojo interface for submitting CompositorFrames yet.

BUG=659227
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2632273003
Cr-Commit-Position: refs/heads/master@{#444774}
24 files changed