Index: cc/surfaces/surface_aggregator.h |
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h |
index 738aeec2a0bc003aa6ed5859f440cdc2049a0e25..689bc9fc7c9facb56fddc54f176f89d5ea8c5e48 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(); |
danakj
2015/11/16 21:45:46
do you need a non-default constructor/destructor h
|
+ ~PrewalkResult(); |
+ bool has_copy_requests; |
danakj
2015/11/16 21:45:46
could you just = false here instead of constructor
|
+ // 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 CopyUnreferencedSurfaces(PrewalkResult* prewalk); |
void CopyPasses(const DelegatedFrameData* frame_data, Surface* surface); |
// Remove Surfaces that were referenced before but aren't currently |