| Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| index 8f606340fb102fe5fba67b19f2f46608a8e549a8..654687b1af9090a6882bcc7cfd6dbac750e2e932 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| @@ -2463,8 +2463,16 @@ void PaintLayer::updateSelfPaintingLayer()
|
|
|
| m_isSelfPaintingLayer = isSelfPaintingLayer;
|
|
|
| - if (parent())
|
| - parent()->dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
|
| + if (PaintLayer* parent = this->parent()) {
|
| + parent->dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
|
| +
|
| + if (PaintLayer* enclosingSelfPaintingLayer = parent->enclosingSelfPaintingLayer()) {
|
| + if (isSelfPaintingLayer)
|
| + mergeNeedsPaintPhaseFlagsFrom(*enclosingSelfPaintingLayer);
|
| + else
|
| + enclosingSelfPaintingLayer->mergeNeedsPaintPhaseFlagsFrom(*this);
|
| + }
|
| + }
|
| }
|
|
|
| PaintLayer* PaintLayer::enclosingSelfPaintingLayer()
|
|
|