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

Unified Diff: Source/core/rendering/RenderObject.cpp

Issue 210203005: Pages are missing invalidations (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed TestExpectations Created 6 years, 9 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 | « LayoutTests/platform/win/fast/repaint/outline-shrinking-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderObject.cpp
diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
index 3c67d938d7e0ea3c3051fbeddc0cb52c6dd3cdfe..d957e61d7ebb4b230aa475476d1a75f2a7a08038 100644
--- a/Source/core/rendering/RenderObject.cpp
+++ b/Source/core/rendering/RenderObject.cpp
@@ -1518,9 +1518,9 @@ bool RenderObject::repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repa
fullRepaint = true;
}
- // If there is no intersection between the old and the new bounds, invalidating
- // the difference is more expensive than just doing a full repaint.
- if (!fullRepaint && !newBounds.intersects(oldBounds))
+ // If we shifted, we don't know the exact reason so we are conservative and trigger a full invalidation. Shifting could
+ // be caused by some layout property (left / top) or some in-flow renderer inserted / removed before us in the tree.
+ if (!fullRepaint && newBounds.location() != oldBounds.location())
fullRepaint = true;
if (!repaintContainer)
« no previous file with comments | « LayoutTests/platform/win/fast/repaint/outline-shrinking-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698