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

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

Issue 1331533002: [poc] curve-filter Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix CanvasRenderingContext2D::createPattern crash for #40 Created 4 years, 11 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 c05c19ddc568ecb1fb37e13496fe2a91266e04ac..fef4908c8abc5b4074c9e4ca0ed2cffd3ad1bc20 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
@@ -674,23 +674,31 @@ bool PaintLayerCompositor::attachFrameContentLayersToIframeLayer(LayoutPart* lay
return true;
}
-static void fullyInvalidatePaintRecursive(PaintLayer* layer)
+static void fullyInvalidatePaintRecursive(PaintLayer* layer, bool changeDirectlyCompositedImages)
{
if (layer->compositingState() == PaintsIntoOwnBacking) {
layer->compositedLayerMapping()->setContentsNeedDisplay();
layer->compositedLayerMapping()->setSquashingContentsNeedDisplay();
+ if (changeDirectlyCompositedImages)
+ layer->compositedLayerMapping()->contentChanged(ImageChanged);
}
for (PaintLayer* child = layer->firstChild(); child; child = child->nextSibling())
- fullyInvalidatePaintRecursive(child);
+ fullyInvalidatePaintRecursive(child, changeDirectlyCompositedImages);
}
-void PaintLayerCompositor::fullyInvalidatePaint()
+void PaintLayerCompositor::fullyInvalidatePaint(bool changeDirectlyCompositedImages)
{
// We're walking all compositing layers and invalidating them, so there's
// no need to have up-to-date compositing state.
DisableCompositingQueryAsserts disabler;
- fullyInvalidatePaintRecursive(rootLayer());
+ fullyInvalidatePaintRecursive(rootLayer(), changeDirectlyCompositedImages);
+
+ if (!changeDirectlyCompositedImages)
+ return;
+
+ // Setup for, and schedule a full root layer repaint via Page::animator().
+ rootLayer()->setNeedsCompositingInputsUpdate();
}
PaintLayer* PaintLayerCompositor::rootLayer() const

Powered by Google App Engine
This is Rietveld 408576698