Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Unified Diff: cc/trees/damage_tracker.cc

Issue 1935613002: cc: Move filter outset in content rect calculation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@visiblerectcleanup
Patch Set: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/render_surface_impl.cc ('k') | cc/trees/damage_tracker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/damage_tracker.cc
diff --git a/cc/trees/damage_tracker.cc b/cc/trees/damage_tracker.cc
index 7b14d18cdeda257ca6ea5c55a0bb74c0b4493eac..6a8891bf5af14e69c61f471ddb626ad44c6659a0 100644
--- a/cc/trees/damage_tracker.cc
+++ b/cc/trees/damage_tracker.cc
@@ -335,32 +335,31 @@ void DamageTracker::ExtendDamageForRenderSurface(
gfx::ToEnclosingRect(render_surface->DrawableContentRect());
data.Update(surface_rect_in_target_space, mailboxId_);
- gfx::Rect damage_rect_in_local_space;
if (surface_is_new || render_surface->SurfacePropertyChanged()) {
// The entire surface contributes damage.
- damage_rect_in_local_space = render_surface->content_rect();
+ target_damage_rect->Union(surface_rect_in_target_space);
// The surface's old region is now exposed on the target surface, too.
target_damage_rect->Union(old_surface_rect);
} else {
// Only the surface's damage_rect will damage the target surface.
- damage_rect_in_local_space =
+ gfx::Rect damage_rect_in_local_space =
render_surface->damage_tracker()->current_damage_rect();
- }
- // If there was damage, transform it to target space, and possibly contribute
- // its reflection if needed.
- if (!damage_rect_in_local_space.IsEmpty()) {
- const gfx::Transform& draw_transform = render_surface->draw_transform();
- gfx::Rect damage_rect_in_target_space = MathUtil::MapEnclosingClippedRect(
- draw_transform, damage_rect_in_local_space);
- target_damage_rect->Union(damage_rect_in_target_space);
+ // If there was damage, transform it to target space, and possibly
+ // contribute its reflection if needed.
+ if (!damage_rect_in_local_space.IsEmpty()) {
+ const gfx::Transform& draw_transform = render_surface->draw_transform();
+ gfx::Rect damage_rect_in_target_space = MathUtil::MapEnclosingClippedRect(
+ draw_transform, damage_rect_in_local_space);
+ target_damage_rect->Union(damage_rect_in_target_space);
- if (layer->replica_layer()) {
- const gfx::Transform& replica_draw_transform =
- render_surface->replica_draw_transform();
- target_damage_rect->Union(MathUtil::MapEnclosingClippedRect(
- replica_draw_transform, damage_rect_in_local_space));
+ if (layer->replica_layer()) {
+ const gfx::Transform& replica_draw_transform =
+ render_surface->replica_draw_transform();
+ target_damage_rect->Union(MathUtil::MapEnclosingClippedRect(
+ replica_draw_transform, damage_rect_in_local_space));
+ }
}
}
« no previous file with comments | « cc/layers/render_surface_impl.cc ('k') | cc/trees/damage_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698