| Index: Source/WebCore/rendering/RenderLayer.h
|
| diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
|
| index 21a6c919dc01fd742dd8ee8f5dc6b7e0f7ca60b8..d77dca4eb11342f1ee9eaea0ba555f3d920560a0 100644
|
| --- a/Source/WebCore/rendering/RenderLayer.h
|
| +++ b/Source/WebCore/rendering/RenderLayer.h
|
| @@ -315,6 +315,7 @@ typedef Vector<LayerFragment, 1> LayerFragments;
|
| class RenderLayer : public ScrollableArea {
|
| public:
|
| friend class RenderReplica;
|
| + friend struct ScopedCompositedScrollingUpdater;
|
|
|
| RenderLayer(RenderLayerModelObject*);
|
| ~RenderLayer();
|
| @@ -497,10 +498,18 @@ public:
|
| // layer itself.
|
| RenderLayer* stackingContainer() const;
|
|
|
| + // Gets the enclosing stacking context for this layer, excluding this
|
| + // layer itself.
|
| + RenderLayer* stackingContext() const;
|
| +
|
| // Gets the enclosing stacking container for this layer, possibly the layer
|
| // itself, if it is a stacking container.
|
| RenderLayer* enclosingStackingContainer() { return isStackingContainer() ? this : stackingContainer(); }
|
|
|
| + // Gets the enclosing stacking context for this layer, possibly the layer
|
| + // itself, if it is a stacking context.
|
| + RenderLayer* enclosingStackingContext() { return isStackingContext() ? this : stackingContext(); }
|
| +
|
| void dirtyZOrderLists();
|
| void dirtyStackingContainerZOrderLists();
|
|
|
| @@ -866,6 +875,8 @@ private:
|
| bool shouldRepaintAfterLayout() const;
|
|
|
| void updateSelfPaintingLayer();
|
| + void updateIsNormalFlowOnly();
|
| + void updateVisibilityAfterStyleChange(const RenderStyle* oldStyle);
|
| void updateStackingContextsAfterStyleChange(const RenderStyle* oldStyle);
|
|
|
| void updateScrollbarsAfterStyleChange(const RenderStyle* oldStyle);
|
| @@ -876,6 +887,11 @@ private:
|
| void updateOutOfFlowPositioned(const RenderStyle* oldStyle);
|
|
|
| void updateNeedsCompositedScrolling();
|
| + void setNeedsCompositedScrolling(bool);
|
| +
|
| + void requestNeedsCompositedScrollingUpdate();
|
| + void requestDescendantsAreContiguousInStackingOrderUpdate();
|
| + void cancelScheduledCompositedScrollingUpdates() const;
|
|
|
| // Returns true if the position changed.
|
| bool updateLayerPosition();
|
| @@ -1151,6 +1167,7 @@ protected:
|
| // descendants in stacking order. This is one of the requirements of being
|
| // able to safely become a stacking context.
|
| bool m_descendantsAreContiguousInStackingOrder : 1;
|
| + bool m_descendantsAreContiguousInStackingOrderDirty : 1;
|
|
|
| const bool m_isRootLayer : 1;
|
|
|
| @@ -1272,20 +1289,6 @@ inline void RenderLayer::clearZOrderLists()
|
| m_negZOrderList.clear();
|
| }
|
|
|
| -inline void RenderLayer::updateZOrderLists()
|
| -{
|
| - if (!m_zOrderListsDirty)
|
| - return;
|
| -
|
| - if (!isStackingContainer()) {
|
| - clearZOrderLists();
|
| - m_zOrderListsDirty = false;
|
| - return;
|
| - }
|
| -
|
| - rebuildZOrderLists();
|
| -}
|
| -
|
| #if !ASSERT_DISABLED
|
| class LayerListMutationDetector {
|
| public:
|
|
|