Index: cc/surfaces/surface_aggregator.cc |
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc |
index 21ec6dbdb3802051aabf82246c9f84aac0098f43..6557a28e6b98458bc79b053fcbb5f5ec0caa4564 100644 |
--- a/cc/surfaces/surface_aggregator.cc |
+++ b/cc/surfaces/surface_aggregator.cc |
@@ -243,7 +243,7 @@ void SurfaceAggregator::HandleSurfaceQuad( |
RenderPassId remapped_pass_id = RemapPassId(source.id, surface_id); |
copy_pass->SetAll(remapped_pass_id, source.output_rect, gfx::Rect(), |
- source.transform_to_root_target, |
+ gfx::Rect(), source.transform_to_root_target, |
source.has_transparent_background); |
MoveMatchingRequests(source.id, ©_requests, ©_pass->copy_requests); |
@@ -285,6 +285,8 @@ void SurfaceAggregator::HandleSurfaceQuad( |
ClipData quads_clip = CalculateClipRect(clip_rect, surface_quad_clip_rect, |
content_to_target_transform); |
+ dest_pass->overlay_rect = MathUtil::MapEnclosingClippedRect( |
+ surface_quad->quadTransform(), last_pass.overlay_rect); |
CopyQuadsToPass(quads, last_pass.shared_quad_state_list, surface_transform, |
quads_clip, dest_pass, surface_id); |
@@ -427,7 +429,7 @@ void SurfaceAggregator::CopyPasses(const DelegatedFrameData* frame_data, |
? gfx::Rect() |
: DamageRectForSurface(surface, source, source.output_rect); |
copy_pass->SetAll(remapped_pass_id, source.output_rect, damage_rect, |
- source.transform_to_root_target, |
+ source.overlay_rect, source.transform_to_root_target, |
source.has_transparent_background); |
CopyQuadsToPass(source.quad_list, source.shared_quad_state_list, |