Index: Source/core/rendering/compositing/CompositedLayerMapping.cpp |
diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
index 4ba28f57c0d9d02067112deb5889b31d1e3167e5..fe43d68ad79bfabea7474ca656874d57a76306b7 100644 |
--- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
+++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
@@ -1844,10 +1844,12 @@ bool CompositedLayerMapping::updateRequiresOwnBackingStoreForAncestorReasons(con |
bool canPaintIntoAncestor = compositingAncestorLayer |
&& (compositingAncestorLayer->compositedLayerMapping()->mainGraphicsLayer()->drawsContent() |
|| compositingAncestorLayer->compositedLayerMapping()->paintsIntoCompositedAncestor()); |
- m_requiresOwnBackingStoreForAncestorReasons = !canPaintIntoAncestor; |
if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) |
- paintsIntoCompositedAncestorChanged(); |
+ compositor()->repaintOnCompositingChange(&m_owningLayer); |
+ |
+ m_requiresOwnBackingStoreForAncestorReasons = !canPaintIntoAncestor; |
+ |
return m_requiresOwnBackingStoreForAncestorReasons != previousRequiresOwnBackingStoreForAncestorReasons; |
} |
@@ -1866,18 +1868,10 @@ bool CompositedLayerMapping::updateRequiresOwnBackingStoreForIntrinsicReasons() |
|| renderer->hasFilter(); |
if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) |
- paintsIntoCompositedAncestorChanged(); |
- return m_requiresOwnBackingStoreForIntrinsicReasons != previousRequiresOwnBackingStoreForIntrinsicReasons; |
-} |
+ compositor()->repaintOnCompositingChange(&m_owningLayer); |
-void CompositedLayerMapping::paintsIntoCompositedAncestorChanged() |
-{ |
- // The answer to paintsIntoCompositedAncestor() affects cached clip rects, so when |
- // it changes we have to clear clip rects on descendants. |
- m_owningLayer.clipper().clearClipRectsIncludingDescendants(PaintingClipRects); |
- m_owningLayer.repainter().computeRepaintRectsIncludingNonCompositingDescendants(); |
- compositor()->repaintInCompositedAncestor(&m_owningLayer, compositedBounds()); |
+ return m_requiresOwnBackingStoreForIntrinsicReasons != previousRequiresOwnBackingStoreForIntrinsicReasons; |
} |
void CompositedLayerMapping::setBlendMode(blink::WebBlendMode blendMode) |