Index: Source/core/page/scrolling/ScrollingConstraints.cpp |
diff --git a/Source/core/page/scrolling/ScrollingConstraints.cpp b/Source/core/page/scrolling/ScrollingConstraints.cpp |
index 120348c4a992a7368690bc01ed5e7204fe74d75b..ffb063cc8c626684978aeda31c1d0abcbc4eb375 100644 |
--- a/Source/core/page/scrolling/ScrollingConstraints.cpp |
+++ b/Source/core/page/scrolling/ScrollingConstraints.cpp |
@@ -45,57 +45,4 @@ FloatPoint FixedPositionViewportConstraints::layerPositionForViewportRect(const |
return m_layerPositionAtLastLayout + offset; |
} |
-FloatSize StickyPositionViewportConstraints::computeStickyOffset(const FloatRect& viewportRect) const |
-{ |
- FloatRect boxRect = m_absoluteStickyBoxRect; |
- |
- if (hasAnchorEdge(AnchorEdgeRight)) { |
- float rightLimit = viewportRect.maxX() - m_rightOffset; |
- float rightDelta = std::min<float>(0, rightLimit - m_absoluteStickyBoxRect.maxX()); |
- float availableSpace = std::min<float>(0, m_absoluteContainingBlockRect.x() - m_absoluteStickyBoxRect.x()); |
- if (rightDelta < availableSpace) |
- rightDelta = availableSpace; |
- |
- boxRect.move(rightDelta, 0); |
- } |
- |
- if (hasAnchorEdge(AnchorEdgeLeft)) { |
- float leftLimit = viewportRect.x() + m_leftOffset; |
- float leftDelta = std::max<float>(0, leftLimit - m_absoluteStickyBoxRect.x()); |
- float availableSpace = std::max<float>(0, m_absoluteContainingBlockRect.maxX() - m_absoluteStickyBoxRect.maxX()); |
- if (leftDelta > availableSpace) |
- leftDelta = availableSpace; |
- |
- boxRect.move(leftDelta, 0); |
- } |
- |
- if (hasAnchorEdge(AnchorEdgeBottom)) { |
- float bottomLimit = viewportRect.maxY() - m_bottomOffset; |
- float bottomDelta = std::min<float>(0, bottomLimit - m_absoluteStickyBoxRect.maxY()); |
- float availableSpace = std::min<float>(0, m_absoluteContainingBlockRect.y() - m_absoluteStickyBoxRect.y()); |
- if (bottomDelta < availableSpace) |
- bottomDelta = availableSpace; |
- |
- boxRect.move(0, bottomDelta); |
- } |
- |
- if (hasAnchorEdge(AnchorEdgeTop)) { |
- float topLimit = viewportRect.y() + m_topOffset; |
- float topDelta = std::max<float>(0, topLimit - m_absoluteStickyBoxRect.y()); |
- float availableSpace = std::max<float>(0, m_absoluteContainingBlockRect.maxY() - m_absoluteStickyBoxRect.maxY()); |
- if (topDelta > availableSpace) |
- topDelta = availableSpace; |
- |
- boxRect.move(0, topDelta); |
- } |
- |
- return boxRect.location() - m_absoluteStickyBoxRect.location(); |
-} |
- |
-FloatPoint StickyPositionViewportConstraints::layerPositionForViewportRect(const FloatRect& viewportRect) const |
-{ |
- FloatSize offset = computeStickyOffset(viewportRect); |
- return m_layerPositionAtLastLayout + offset - m_stickyOffsetAtLastLayout; |
-} |
- |
} // namespace WebCore |