Index: cc/surfaces/surface_aggregator.cc |
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc |
index f4681466f26aecd04c396595e05641969b20d671..b6b9fa668fcc9fac0b151d497e74dac47d16b96c 100644 |
--- a/cc/surfaces/surface_aggregator.cc |
+++ b/cc/surfaces/surface_aggregator.cc |
@@ -702,6 +702,8 @@ gfx::Rect SurfaceAggregator::PrewalkTree(const SurfaceId& surface_id, |
} |
referenced_surfaces_.erase(it); |
+ if (!damage_rect.IsEmpty() && surface_frame.metadata.may_contain_video) |
+ result->may_contain_video = true; |
return damage_rect; |
} |
@@ -786,6 +788,7 @@ CompositorFrame SurfaceAggregator::Aggregate(const SurfaceId& surface_id) { |
PrewalkTree(surface_id, false, RenderPassId(), &prewalk_result); |
PropagateCopyRequestPasses(); |
has_copy_requests_ = !copy_request_passes_.empty(); |
+ frame.metadata.may_contain_video = prewalk_result.may_contain_video; |
CopyUndrawnSurfaces(&prewalk_result); |
SurfaceSet::iterator it = referenced_surfaces_.insert(surface_id).first; |