| Index: Source/WebCore/rendering/RenderLayerCompositor.cpp
|
| diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp
|
| index 4d8896984348cdd984a24a978bccf490fcab42e1..7e2ee4af30f6dadcda0788d657c956300f27d81f 100644
|
| --- a/Source/WebCore/rendering/RenderLayerCompositor.cpp
|
| +++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp
|
| @@ -309,6 +309,34 @@ bool RenderLayerCompositor::hasAnyAdditionalCompositedLayers(const RenderLayer*
|
| return m_compositedLayerCount > (rootLayer->isComposited() ? 1 : 0);
|
| }
|
|
|
| +void RenderLayerCompositor::updateDescendantsAreContiguousInStackingOrderRecursive(RenderLayer* layer)
|
| +{
|
| + for (RenderLayer* child = layer->firstChild(); child; child = child->nextSibling())
|
| + updateDescendantsAreContiguousInStackingOrderRecursive(child);
|
| + layer->updateDescendantDependentFlags();
|
| + layer->updateDescendantsAreContiguousInStackingOrder();
|
| +}
|
| +
|
| +void RenderLayerCompositor::updateNeedsCompositedScrolling(RenderLayer* layer)
|
| +{
|
| + layer->updateNeedsCompositedScrolling();
|
| +
|
| + // These values depend on our composited scrolling status.
|
| + layer->updateIsNormalFlowOnly();
|
| + layer->updateSelfPaintingLayer();
|
| +
|
| + for (RenderLayer* child = layer->firstChild(); child; child = child->nextSibling())
|
| + updateNeedsCompositedScrolling(child);
|
| +}
|
| +
|
| +void RenderLayerCompositor::updateLayoutDependentState()
|
| +{
|
| + RenderLayer* updateRoot = rootRenderLayer();
|
| + updateRoot->updateDescendantDependentFlags();
|
| + updateDescendantsAreContiguousInStackingOrderRecursive(updateRoot);
|
| + updateNeedsCompositedScrolling(updateRoot);
|
| +}
|
| +
|
| void RenderLayerCompositor::updateCompositingLayers(CompositingUpdateType updateType, RenderLayer* updateRoot)
|
| {
|
| // Avoid updating the layers with old values. Compositing layers will be updated after the layout is finished.
|
|
|