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