| Index: third_party/WebKit/Source/core/paint/PaintLayer.h
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.h b/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| index 3932a006ce92e9f3f11a1ed8cce432930cf27b5b..2c01e6ec1bcc01f4134321ced4b1ed2631ecd466 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| @@ -264,6 +264,8 @@ public:
|
| // Allows updates of layer content without invalidating paint.
|
| void contentChanged(ContentChangeType);
|
|
|
| + void updateLayerPosition();
|
| +
|
| void updateLayerPositionsAfterLayout();
|
| void updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta);
|
|
|
| @@ -527,17 +529,25 @@ public:
|
| : opacityAncestor(nullptr)
|
| , transformAncestor(nullptr)
|
| , filterAncestor(nullptr)
|
| + , ancestorOverflowLayer(nullptr)
|
| , ancestorScrollingLayer(nullptr)
|
| , nearestFixedPositionLayer(nullptr)
|
| , scrollParent(nullptr)
|
| , clipParent(nullptr)
|
| { }
|
|
|
| - bool isDefault() const { return !opacityAncestor && !transformAncestor && !filterAncestor && !ancestorScrollingLayer && !nearestFixedPositionLayer && !scrollParent && !clipParent; }
|
| + bool isDefault() const { return !opacityAncestor && !transformAncestor && !filterAncestor && !ancestorOverflowLayer && !ancestorScrollingLayer && !nearestFixedPositionLayer && !scrollParent && !clipParent; }
|
|
|
| const PaintLayer* opacityAncestor;
|
| const PaintLayer* transformAncestor;
|
| const PaintLayer* filterAncestor;
|
| +
|
| + // The first ancestor having a non visible overflow.
|
| + const PaintLayer* ancestorOverflowLayer;
|
| +
|
| + // The fist ancestor which can scroll. This is a subset of the
|
| + // ancestorOverflowLayer chain where the scrolling layer is visible and
|
| + // has a larger scroll content than its bounds.
|
| const PaintLayer* ancestorScrollingLayer;
|
| const PaintLayer* nearestFixedPositionLayer;
|
|
|
| @@ -576,6 +586,7 @@ public:
|
| const PaintLayer* transformAncestor() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->transformAncestor : nullptr; }
|
| const PaintLayer* filterAncestor() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->filterAncestor : nullptr; }
|
| const LayoutObject* clippingContainer() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_ancestorDependentCompositingInputs.clippingContainer; }
|
| + const PaintLayer* ancestorOverflowLayer() const { return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->ancestorOverflowLayer : nullptr; }
|
| const PaintLayer* ancestorScrollingLayer() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->ancestorScrollingLayer : nullptr; }
|
| const PaintLayer* nearestFixedPositionLayer() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->nearestFixedPositionLayer : nullptr; }
|
| const PaintLayer* scrollParent() const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->scrollParent : nullptr; }
|
| @@ -687,9 +698,6 @@ private:
|
|
|
| void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
|
|
|
| - // Returns true if the position changed.
|
| - bool updateLayerPosition();
|
| -
|
| void updateLayerPositionRecursive();
|
| void updateLayerPositionsAfterScrollRecursive(const DoubleSize& scrollDelta, bool paintInvalidationContainerWasScrolled);
|
|
|
|
|