Index: Source/core/paint/DeprecatedPaintLayer.cpp |
diff --git a/Source/core/paint/DeprecatedPaintLayer.cpp b/Source/core/paint/DeprecatedPaintLayer.cpp |
index b76ef401ce7d5e81619862e1ec501a8019b035d5..beca696c76f5b90321c8731d05c1434d46e5dc37 100644 |
--- a/Source/core/paint/DeprecatedPaintLayer.cpp |
+++ b/Source/core/paint/DeprecatedPaintLayer.cpp |
@@ -1140,8 +1140,10 @@ void DeprecatedPaintLayer::addChild(DeprecatedPaintLayer* child, DeprecatedPaint |
setNeedsCompositingInputsUpdate(); |
- if (!child->stackingNode()->isTreatedAsStackingContextForPainting()) |
- m_stackingNode->dirtyNormalFlowList(); |
+ if (!child->stackingNode()->isTreatedAsStackingContextForPainting()) { |
dsinclair
2015/06/24 15:22:41
Any reason to not have this as a single if stateme
Julien - ping for review
2015/06/24 16:51:57
None really.
|
+ if (!layoutObject()->documentBeingDestroyed()) |
+ compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
+ } |
if (child->stackingNode()->isTreatedAsStackingContextForPainting() || child->firstChild()) { |
// Dirty the z-order list in which we are contained. The ancestorStackingContextNode() can be null in the |
@@ -1168,8 +1170,11 @@ DeprecatedPaintLayer* DeprecatedPaintLayer::removeChild(DeprecatedPaintLayer* ol |
if (m_last == oldChild) |
m_last = oldChild->previousSibling(); |
- if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting()) |
- m_stackingNode->dirtyNormalFlowList(); |
+ if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting()) { |
+ if (!layoutObject()->documentBeingDestroyed()) |
+ compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
+ } |
+ |
if (oldChild->stackingNode()->isTreatedAsStackingContextForPainting() || oldChild->firstChild()) { |
// Dirty the z-order list in which we are contained. When called via the |
// reattachment process in removeOnlyThisLayer, the layer may already be disconnected |
@@ -2419,7 +2424,7 @@ bool DeprecatedPaintLayer::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& l |
// FIXME: Remove this check. |
// This function should not be called when layer-lists are dirty. |
// It is somehow getting triggered during style update. |
- if (m_stackingNode->zOrderListsDirty() || m_stackingNode->normalFlowListDirty()) |
+ if (m_stackingNode->zOrderListsDirty()) |
return false; |
// FIXME: We currently only check the immediate layoutObject, |