Index: cc/surfaces/surface_aggregator.cc |
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc |
index 7ffa965eeb1316d7ceec0d4e349efc91b401e958..173e06961e1bd80a064ba2dd0d6840d5d713e014 100644 |
--- a/cc/surfaces/surface_aggregator.cc |
+++ b/cc/surfaces/surface_aggregator.cc |
@@ -142,6 +142,7 @@ void SurfaceAggregator::HandleSurfaceQuad(const SurfaceDrawQuad* surface_quad, |
Surface* surface = manager_->GetSurfaceForId(surface_id); |
if (!surface) |
return; |
+ contained_surface_set_->insert(surface); |
const CompositorFrame* frame = surface->GetEligibleFrame(); |
if (!frame) |
return; |
@@ -287,9 +288,13 @@ void SurfaceAggregator::CopyPasses(const RenderPassList& source_pass_list, |
} |
} |
-scoped_ptr<CompositorFrame> SurfaceAggregator::Aggregate(SurfaceId surface_id) { |
+scoped_ptr<CompositorFrame> SurfaceAggregator::Aggregate( |
+ SurfaceId surface_id, |
+ std::set<Surface*>* contained_surfaces) { |
+ contained_surface_set_ = contained_surfaces; |
Surface* surface = manager_->GetSurfaceForId(surface_id); |
DCHECK(surface); |
+ contained_surface_set_->insert(surface); |
const CompositorFrame* root_surface_frame = surface->GetEligibleFrame(); |
if (!root_surface_frame) |
return scoped_ptr<CompositorFrame>(); |