| Index: Source/core/paint/DeprecatedPaintLayer.cpp
|
| diff --git a/Source/core/paint/DeprecatedPaintLayer.cpp b/Source/core/paint/DeprecatedPaintLayer.cpp
|
| index 6b01128ba6280a68b8e7b21fa6d0d339931ef3d8..aa33334b5a63398d298be41c12dcfda82f610cba 100644
|
| --- a/Source/core/paint/DeprecatedPaintLayer.cpp
|
| +++ b/Source/core/paint/DeprecatedPaintLayer.cpp
|
| @@ -1150,8 +1150,8 @@ void DeprecatedPaintLayer::addChild(DeprecatedPaintLayer* child, DeprecatedPaint
|
|
|
| setNeedsCompositingInputsUpdate();
|
|
|
| - if (!child->stackingNode()->isTreatedAsStackingContextForPainting())
|
| - m_stackingNode->dirtyNormalFlowList();
|
| + if (!child->stackingNode()->isTreatedAsStackingContextForPainting() && !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
|
| @@ -1182,8 +1182,9 @@ DeprecatedPaintLayer* DeprecatedPaintLayer::removeChild(DeprecatedPaintLayer* ol
|
| if (m_last == oldChild)
|
| m_last = oldChild->previousSibling();
|
|
|
| - if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting())
|
| - m_stackingNode->dirtyNormalFlowList();
|
| + if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting() && !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
|
| @@ -2399,7 +2400,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,
|
|
|