Chromium Code Reviews| Index: cc/trees/damage_tracker.cc |
| diff --git a/cc/trees/damage_tracker.cc b/cc/trees/damage_tracker.cc |
| index d740521408dc7658abb38bfcac7b2dc97c0da96e..51cb25c20e4f34d0fba156b4933aaf351b70a795 100644 |
| --- a/cc/trees/damage_tracker.cc |
| +++ b/cc/trees/damage_tracker.cc |
| @@ -26,7 +26,8 @@ std::unique_ptr<DamageTracker> DamageTracker::Create() { |
| } |
| DamageTracker::DamageTracker() |
| - : mailboxId_(0) {} |
| + : mailboxId_(0), |
| + has_property_change_on_contributing_render_surface_(false) {} |
| DamageTracker::~DamageTracker() {} |
| @@ -258,6 +259,7 @@ DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromSurfaceMask( |
| void DamageTracker::PrepareForUpdate() { |
| mailboxId_++; |
| damage_for_this_update_ = DamageAccumulator(); |
| + has_property_change_on_contributing_render_surface_ = false; |
| } |
| DamageTracker::DamageAccumulator DamageTracker::TrackDamageFromLeftoverRects() { |
| @@ -421,6 +423,10 @@ void DamageTracker::AccumulateDamageFromRenderSurface( |
| gfx::ToEnclosingRect(render_surface->DrawableContentRect()); |
| data.Update(surface_rect_in_target_space, mailboxId_); |
| + has_property_change_on_contributing_render_surface_ |= |
|
weiliangc
2017/06/07 21:19:01
The flag for not able to use the texture should be
wutao
2017/06/09 02:31:32
This is a very good point.
Do you mean damage_for_
|
| + render_surface->SurfacePropertyChanged() || |
|
weiliangc
2017/06/07 21:19:01
SurfacePropertyChanged() seems to be ok for reusin
wutao
2017/06/09 02:31:32
Acknowledged.
|
| + render_surface->ContributingRenderSurfacePropertyChanged(); |
| + |
| if (surface_is_new || render_surface->SurfacePropertyChanged()) { |
| // The entire surface contributes damage. |
| damage_for_this_update_.Union(surface_rect_in_target_space); |