Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
index 15b0c804d92e667f0293f6a0ff79ef431b90714e..ee47316918cae73553ad5c91d7d887d57d7076f5 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -313,7 +313,8 @@ void PaintLayer::dirtyAncestorChainHasSelfPaintingLayerDescendantStatus() |
bool PaintLayer::scrollsWithViewport() const |
{ |
- return layoutObject()->style()->position() == FixedPosition && layoutObject()->containerForFixedPosition() == layoutObject()->view(); |
+ return (layoutObject()->style()->position() == FixedPosition && layoutObject()->containerForFixedPosition() == layoutObject()->view()) |
+ || (layoutObject()->style()->position() == StickyPosition && !ancestorScrollingLayer()); |
} |
bool PaintLayer::scrollsWithRespectTo(const PaintLayer* other) const |
@@ -323,6 +324,11 @@ bool PaintLayer::scrollsWithRespectTo(const PaintLayer* other) const |
return ancestorScrollingLayer() != other->ancestorScrollingLayer(); |
} |
+void PaintLayer::updateLayerPositionAfterFrameScroll(const DoubleSize& scrollDelta) |
+{ |
+ updateLayerPosition(); |
+} |
+ |
void PaintLayer::updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta) |
{ |
m_clipper.clearClipRectsIncludingDescendants(); |