Index: Source/core/layout/LayoutBoxModelObject.cpp |
diff --git a/Source/core/layout/LayoutBoxModelObject.cpp b/Source/core/layout/LayoutBoxModelObject.cpp |
index 8595619d09ae7b2001bc6f3568787551c5f98e58..565f0c662b65ecbb752446313a0509fcb721ef88 100644 |
--- a/Source/core/layout/LayoutBoxModelObject.cpp |
+++ b/Source/core/layout/LayoutBoxModelObject.cpp |
@@ -284,6 +284,13 @@ void LayoutBoxModelObject::styleDidChange(StyleDifference diff, const ComputedSt |
void LayoutBoxModelObject::createLayer(DeprecatedPaintLayerType type) |
{ |
+ DisablePaintInvalidationStateAsserts invalidationDisabler; |
+ DisableCompositingQueryAsserts compositingDisabler; |
+ |
+ // Acquiring a DeprecatedPaintLayer may change the paint invalidation container. Therefore we must eagerly |
+ // invalidate paint for this object before creating the layer. |
+ if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && isRooted()) |
pdr.
2015/09/14 23:29:26
Can you put the disablers in this block?
|
+ invalidatePaintIncludingNonCompositingDescendants(); |
ASSERT(!m_layer); |
m_layer = adoptPtr(new DeprecatedPaintLayer(this, type)); |
setHasLayer(true); |