Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index b34948c5d6c633d5dd918996bd3f8bb767331d0f..2ba68c9c996c2a787c8ffd4370e0be7065616ec3 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -600,6 +600,8 @@ void LayerImpl::PushPropertiesTo(LayerImpl* layer) { |
// union) any update changes that have occurred on the main thread. |
update_rect_.Union(layer->update_rect()); |
layer->SetUpdateRect(update_rect_); |
+ overlay_update_rect_.Union(layer->overlay_update_rect()); |
+ layer->SetOverlayUpdateRect(overlay_update_rect_); |
layer->SetStackingOrderChanged(stacking_order_changed_); |
layer->SetDebugInfo(debug_info_); |
@@ -612,6 +614,7 @@ void LayerImpl::PushPropertiesTo(LayerImpl* layer) { |
// Reset any state that should be cleared for the next update. |
stacking_order_changed_ = false; |
update_rect_ = gfx::Rect(); |
+ overlay_update_rect_ = gfx::Rect(); |
needs_push_properties_ = false; |
num_dependents_need_push_properties_ = 0; |
} |
@@ -748,6 +751,7 @@ void LayerImpl::ResetAllChangeTrackingForSubtree() { |
layer_property_changed_ = false; |
update_rect_ = gfx::Rect(); |
+ overlay_update_rect_ = gfx::Rect(); |
damage_rect_ = gfx::RectF(); |
if (render_surface_) |
@@ -1080,6 +1084,11 @@ void LayerImpl::SetUpdateRect(const gfx::Rect& update_rect) { |
SetNeedsPushProperties(); |
} |
+void LayerImpl::SetOverlayUpdateRect(const gfx::Rect& overlay_update_rect) { |
+ overlay_update_rect_ = overlay_update_rect; |
+ SetNeedsPushProperties(); |
+} |
+ |
void LayerImpl::AddDamageRect(const gfx::RectF& damage_rect) { |
damage_rect_ = gfx::UnionRects(damage_rect_, damage_rect); |
} |