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

Unified Diff: third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp

Issue 2049263003: Check rect under-invalidations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ImageQuality
Patch Set: x Created 4 years, 6 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
Index: third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
index 58a1ff7a906827e2aca5ae432dd0daef1d512b24..3b2bcb15c6691313f82f4ed4db17bae6488d72a8 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
@@ -894,30 +894,24 @@ GraphicsLayer* PaintLayerCompositor::fixedRootBackgroundLayer() const
return nullptr;
}
-static void resetTrackedPaintInvalidationRectsRecursive(GraphicsLayer* graphicsLayer)
+static void setTracksPaintInvalidationsRecursive(GraphicsLayer* graphicsLayer, bool tracksPaintInvalidations)
{
if (!graphicsLayer)
return;
- graphicsLayer->resetTrackedPaintInvalidations();
+ graphicsLayer->setTracksPaintInvalidations(tracksPaintInvalidations);
for (size_t i = 0; i < graphicsLayer->children().size(); ++i)
- resetTrackedPaintInvalidationRectsRecursive(graphicsLayer->children()[i]);
+ setTracksPaintInvalidationsRecursive(graphicsLayer->children()[i], tracksPaintInvalidations);
if (GraphicsLayer* replicaLayer = graphicsLayer->replicaLayer())
- resetTrackedPaintInvalidationRectsRecursive(replicaLayer);
+ setTracksPaintInvalidationsRecursive(replicaLayer, tracksPaintInvalidations);
if (GraphicsLayer* maskLayer = graphicsLayer->maskLayer())
- resetTrackedPaintInvalidationRectsRecursive(maskLayer);
+ setTracksPaintInvalidationsRecursive(maskLayer, tracksPaintInvalidations);
if (GraphicsLayer* clippingMaskLayer = graphicsLayer->contentsClippingMaskLayer())
- resetTrackedPaintInvalidationRectsRecursive(clippingMaskLayer);
-}
-
-void PaintLayerCompositor::resetTrackedPaintInvalidationRects()
-{
- if (GraphicsLayer* rootLayer = rootGraphicsLayer())
- resetTrackedPaintInvalidationRectsRecursive(rootLayer);
+ setTracksPaintInvalidationsRecursive(clippingMaskLayer, tracksPaintInvalidations);
}
void PaintLayerCompositor::setTracksPaintInvalidations(bool tracksPaintInvalidations)
@@ -929,6 +923,8 @@ void PaintLayerCompositor::setTracksPaintInvalidations(bool tracksPaintInvalidat
#endif
m_isTrackingPaintInvalidations = tracksPaintInvalidations;
+ if (GraphicsLayer* rootLayer = rootGraphicsLayer())
+ setTracksPaintInvalidationsRecursive(rootLayer, tracksPaintInvalidations);
}
bool PaintLayerCompositor::isTrackingPaintInvalidations() const

Powered by Google App Engine
This is Rietveld 408576698