diff options
| author | jbauman <jbauman@chromium.org> | 2014-10-09 17:22:09 -0700 |
|---|---|---|
| committer | Commit bot <commit-bot@chromium.org> | 2014-10-10 00:23:11 +0000 |
| commit | fdc3baa3f2ae1554292165b53189196acd7418e4 (patch) | |
| tree | d18943bb63a7be1fcaf04ccdfc3389b99604d8a0 /cc/output/compositor_frame_metadata.h | |
| parent | f41800135c80bd45b9ddedf3e09316bfb0d5fa21 (diff) | |
| download | chromium_src-fdc3baa3f2ae1554292165b53189196acd7418e4.zip chromium_src-fdc3baa3f2ae1554292165b53189196acd7418e4.tar.gz chromium_src-fdc3baa3f2ae1554292165b53189196acd7418e4.tar.bz2 | |
Avoid destroying surface before the parent surface stops referencing it.
Add surface sequence numbers, which are used to schedule the
destruction of surfaces. The child surface's destruction can
wait on a set of sequence numbers, and the parent surface can
later queue a frame that satisfies those numbers, causing the
former child surface to be destroyed.
Also move ownership of the SurfaceIdAllocator to the
ui::Compositor, so that the surface id namespace for a
compositor will stay the same across all output surfaces it
ever uses.
BUG=411118
Review URL: https://codereview.chromium.org/553213003
Cr-Commit-Position: refs/heads/master@{#299022}
Diffstat (limited to 'cc/output/compositor_frame_metadata.h')
| -rw-r--r-- | cc/output/compositor_frame_metadata.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/output/compositor_frame_metadata.h b/cc/output/compositor_frame_metadata.h index e9dd706..a6fe2d4 100644 --- a/cc/output/compositor_frame_metadata.h +++ b/cc/output/compositor_frame_metadata.h @@ -46,6 +46,10 @@ class CC_EXPORT CompositorFrameMetadata { ViewportSelectionBound selection_end; std::vector<ui::LatencyInfo> latency_info; + + // A set of SurfaceSequences that this frame satisfies (always in the same + // namespace as the current Surface). + std::vector<uint32_t> satisfies_sequences; }; } // namespace cc |
