Chromium Code Reviews| 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 03faeedc28f2300eb665ac90d6f33873b43e2037..15b0c804d92e667f0293f6a0ff79ef431b90714e 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
| @@ -2672,19 +2672,10 @@ void PaintLayer::computeSelfHitTestRects(LayerHitTestRects& rects) const |
| void PaintLayer::setNeedsRepaint() |
| { |
| - PaintLayer* layer = this; |
| - while (layer && !layer->isSelfPaintingLayer() && !layer->hasSelfPaintingLayerDescendant()) |
| - layer = layer->parent(); |
| - |
| - // This layer is in an orphaned layer tree. Will mark ancestor for repaint when |
| - // the orphaned tree is added into another tree. |
| - if (!layer) |
| - return; |
| - |
| - layer->m_needsRepaint = true; |
| + m_needsRepaint = true; |
| // Do this unconditionally to ensure container chain is marked when compositing status of the layer changes. |
| - layer->markAncestorChainForNeedsRepaint(); |
| + markAncestorChainForNeedsRepaint(); |
|
Xianzhu
2015/10/28 18:10:23
This is simplified because now we recursively clea
|
| } |
| void PaintLayer::markAncestorChainForNeedsRepaint() |
| @@ -2708,11 +2699,9 @@ void PaintLayer::markAncestorChainForNeedsRepaint() |
| break; |
| container = owner->enclosingLayer(); |
| } |
| - if (container->isSelfPaintingLayer() || container->hasSelfPaintingLayerDescendant()) { |
| - if (container->m_needsRepaint) |
| - break; |
| - container->m_needsRepaint = true; |
| - } |
| + if (container->m_needsRepaint) |
| + break; |
| + container->m_needsRepaint = true; |
| layer = container; |
| } |
| } |