Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Unified Diff: Source/core/page/scrolling/ScrollingConstraints.cpp

Issue 346603007: Remove position: sticky (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/page/scrolling/ScrollingConstraints.h ('k') | Source/core/rendering/LayoutState.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « Source/core/page/scrolling/ScrollingConstraints.h ('k') | Source/core/rendering/LayoutState.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698