| Index: cc/surfaces/surface_aggregator.h
|
| diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h
|
| index 738aeec2a0bc003aa6ed5859f440cdc2049a0e25..6df7e6ba0f870895d8b12c07389a3b65e38d977d 100644
|
| --- a/cc/surfaces/surface_aggregator.h
|
| +++ b/cc/surfaces/surface_aggregator.h
|
| @@ -60,6 +60,15 @@ class CC_SURFACES_EXPORT SurfaceAggregator {
|
| gfx::Rect rect;
|
| };
|
|
|
| + struct PrewalkResult {
|
| + PrewalkResult();
|
| + ~PrewalkResult();
|
| + bool has_copy_requests = false;
|
| + // This is the set of Surfaces that were referenced by another Surface, but
|
| + // not included in a SurfaceDrawQuad.
|
| + std::set<SurfaceId> undrawn_surfaces;
|
| + };
|
| +
|
| ClipData CalculateClipRect(const ClipData& surface_clip,
|
| const ClipData& quad_clip,
|
| const gfx::Transform& target_transform);
|
| @@ -83,7 +92,8 @@ class CC_SURFACES_EXPORT SurfaceAggregator {
|
| const ClipData& clip_rect,
|
| RenderPass* dest_pass,
|
| SurfaceId surface_id);
|
| - gfx::Rect PrewalkTree(SurfaceId surface_id);
|
| + gfx::Rect PrewalkTree(SurfaceId surface_id, PrewalkResult* result);
|
| + void CopyUndrawnSurfaces(PrewalkResult* prewalk);
|
| void CopyPasses(const DelegatedFrameData* frame_data, Surface* surface);
|
|
|
| // Remove Surfaces that were referenced before but aren't currently
|
|
|