Chromium Code Reviews| Index: Source/core/rendering/RenderLayer.cpp |
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
| index b3199f8a10a57700ffeb7a1761da4f42cb5ab1bc..531ad74e09af8161a956fb884e178b89ee51883f 100644 |
| --- a/Source/core/rendering/RenderLayer.cpp |
| +++ b/Source/core/rendering/RenderLayer.cpp |
| @@ -257,9 +257,18 @@ void RenderLayer::updateLayerPositionsAfterLayout(const RenderLayer* rootLayer, |
| updateLayerPositionRecursive(flags); |
| } |
| +void RenderLayer::markDescendantLayersMayNeedPaintInvalidation() |
| +{ |
| + for (RenderLayer* childLayer = firstChild(); childLayer; childLayer = childLayer->nextSibling()) { |
|
esprehn
2014/06/24 20:37:07
We should take a different approach than this and
|
| + childLayer->renderer()->setMayNeedPaintInvalidation(true); |
| + childLayer->markDescendantLayersMayNeedPaintInvalidation(); |
| + } |
| +} |
| + |
| void RenderLayer::updateLayerPositionRecursive(UpdateLayerPositionsFlags flags) |
| { |
| - updateLayerPosition(); |
| + if (updateLayerPosition()) |
| + markDescendantLayersMayNeedPaintInvalidation(); |
|
esprehn
2014/06/24 20:37:07
Doesn't this make us traverse down the same subtre
|
| // Clear our cached clip rect information. |
| m_clipper.clearClipRects(); |