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

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

Issue 546713004: Revert of Move some scroll invalidations to the paint invalidation phase (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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 | « Source/core/rendering/RenderLayerRepainter.h ('k') | Source/platform/scroll/ScrollView.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderLayerRepainter.cpp
diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
index d6b23ecef98320bf91326d34eed6248ac53c29c6..62336f563659bdeb02247c95cbe44d53d43ab0b1 100644
--- a/Source/core/rendering/RenderLayerRepainter.cpp
+++ b/Source/core/rendering/RenderLayerRepainter.cpp
@@ -91,6 +91,20 @@
}
}
+LayoutRect RenderLayerRepainter::paintInvalidationRectIncludingNonCompositingDescendants() const
+{
+ LayoutRect paintInvalidationRect = m_renderer.previousPaintInvalidationRect();
+
+ for (RenderLayer* child = m_renderer.layer()->firstChild(); child; child = child->nextSibling()) {
+ // Don't include paint invalidation rects for composited child layers; they will paint themselves and have a different origin.
+ if (child->compositingState() == PaintsIntoOwnBacking || child->compositingState() == PaintsIntoGroupedBacking)
+ continue;
+
+ paintInvalidationRect.unite(child->paintInvalidator().paintInvalidationRectIncludingNonCompositingDescendants());
+ }
+ return paintInvalidationRect;
+}
+
void RenderLayerRepainter::setBackingNeedsPaintInvalidationInRect(const LayoutRect& r)
{
// https://bugs.webkit.org/show_bug.cgi?id=61159 describes an unreproducible crash here,
« no previous file with comments | « Source/core/rendering/RenderLayerRepainter.h ('k') | Source/platform/scroll/ScrollView.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698