| Index: Source/core/rendering/RenderLayerRepainter.cpp
|
| diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
|
| index eca0bbcfa870ad829bb4153c7dfb8114c0595493..61c0edf1638a9c9dabc2bbbec0e787e95d9367ac 100644
|
| --- a/Source/core/rendering/RenderLayerRepainter.cpp
|
| +++ b/Source/core/rendering/RenderLayerRepainter.cpp
|
| @@ -120,15 +120,17 @@ void RenderLayerRepainter::computeRepaintRects()
|
| }
|
| }
|
|
|
| -void RenderLayerRepainter::computeRepaintRectsIncludingDescendants()
|
| +void RenderLayerRepainter::computeRepaintRectsIncludingNonCompositingDescendants()
|
| {
|
| // FIXME: computeRepaintRects() has to walk up the parent chain for every layer to compute the rects.
|
| // We should make this more efficient.
|
| // FIXME: it's wrong to call this when layout is not up-to-date, which we do.
|
| computeRepaintRects();
|
|
|
| - for (RenderLayer* layer = m_renderer.layer()->firstChild(); layer; layer = layer->nextSibling())
|
| - layer->repainter().computeRepaintRectsIncludingDescendants();
|
| + for (RenderLayer* layer = m_renderer.layer()->firstChild(); layer; layer = layer->nextSibling()) {
|
| + if (layer->compositingState() != PaintsIntoOwnBacking && layer->compositingState() != PaintsIntoGroupedBacking)
|
| + layer->repainter().computeRepaintRectsIncludingNonCompositingDescendants();
|
| + }
|
| }
|
|
|
| inline bool RenderLayerRepainter::shouldRepaintLayer() const
|
|
|