Index: third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h |
diff --git a/third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h b/third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h |
index 330d2d86334c79ac8050a50cc8565bc97c06bfeb..1bea65041ba158c04b0e80c504fbbc6cd9061633 100644 |
--- a/third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h |
+++ b/third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h |
@@ -7,11 +7,19 @@ |
#include "platform/geometry/FloatRect.h" |
#include "platform/geometry/FloatSize.h" |
+#include "platform/wtf/HashMap.h" |
namespace blink { |
class LayoutBoxModelObject; |
+class PaintLayer; |
+class StickyPositionScrollingConstraints; |
+typedef WTF::HashMap<PaintLayer*, StickyPositionScrollingConstraints> |
+ StickyConstraintsMap; |
+ |
+// TODO(smcgruer): Add detailed comment explaining how |
+// StickyPositionScrollingConstraints works. |
class StickyPositionScrollingConstraints final { |
public: |
enum AnchorEdgeFlags { |
@@ -113,6 +121,11 @@ class StickyPositionScrollingConstraints final { |
return total_containing_block_sticky_offset_; |
} |
+ // Returns the relative position of the sticky box and its original position. |
chrishtr
2017/06/07 19:28:38
Original, meaning before scroll? If so, please inc
yigu
2017/06/07 21:09:14
Done.
|
+ // This method is only safe to call if ComputeStickyOffset has been invoked. |
+ FloatSize GetOffsetRelativeToOriginalLayoutPosition( |
+ const StickyConstraintsMap&) const; |
+ |
const LayoutBoxModelObject* NearestStickyAncestor() const { |
// If we have one or more sticky ancestor elements between ourselves and our |
// containing block, |m_nearestStickyBoxShiftingStickyBox| points to the |