Chromium Code Reviews| 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, |