Index: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h |
index 1912e6c3797b1e71edd403aa3f9521b19ab39d59..3dbebffcc004b8b14126ffbf7d94bd82c6775ae7 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h |
+++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h |
@@ -216,17 +216,17 @@ class CORE_EXPORT PaintLayerScrollableArea final |
static int s_count; |
}; |
- // If a DelayScrollPositionClampScope object is alive, updateAfterLayout() |
- // will not clamp scroll positions to ensure they are in the valid range. |
- // When the last DelayScrollPositionClampScope object is destructed, all |
- // PaintLayerScrollableArea's that delayed clamping their positions will |
+ // If a DelayScrollOffsetClampScope object is alive, updateAfterLayout() will |
+ // not clamp scroll offsets to ensure they are in the valid range. When the |
+ // last DelayScrollOffsetClampScope object is destructed, all |
+ // PaintLayerScrollableArea's that delayed clamping their offsets will |
// immediately clamp them. |
- class DelayScrollPositionClampScope { |
+ class DelayScrollOffsetClampScope { |
STACK_ALLOCATED(); |
public: |
- DelayScrollPositionClampScope(); |
- ~DelayScrollPositionClampScope(); |
+ DelayScrollOffsetClampScope(); |
+ ~DelayScrollOffsetClampScope(); |
static bool clampingIsDelayed() { return s_count; } |
static void setNeedsClamp(PaintLayerScrollableArea*); |
@@ -290,10 +290,10 @@ class CORE_EXPORT PaintLayerScrollableArea final |
const Scrollbar&, |
const IntPoint&) const override; |
int scrollSize(ScrollbarOrientation) const override; |
- IntPoint scrollPosition() const override; |
- DoublePoint scrollPositionDouble() const override; |
- IntPoint minimumScrollPosition() const override; |
- IntPoint maximumScrollPosition() const override; |
+ IntSize scrollOffsetInt() const override; |
+ ScrollOffset scrollOffset() const override; |
+ IntSize minimumScrollOffsetInt() const override; |
+ IntSize maximumScrollOffsetInt() const override; |
IntRect visibleContentRect( |
IncludeScrollbarsInRect = ExcludeScrollbars) const override; |
int visibleHeight() const override; |
@@ -313,24 +313,20 @@ class CORE_EXPORT PaintLayerScrollableArea final |
ScrollBehavior scrollBehaviorStyle() const override; |
CompositorAnimationTimeline* compositorAnimationTimeline() const override; |
- DoubleSize scrollOffset() const { return m_scrollOffset; } |
- |
// FIXME: We shouldn't allow access to m_overflowRect outside this class. |
LayoutRect overflowRect() const { return m_overflowRect; } |
- void scrollToOffset(const DoubleSize& scrollOffset, |
- ScrollBehavior scrollBehavior = ScrollBehaviorInstant, |
- ScrollType scrollType = ProgrammaticScroll) { |
- ScrollableArea::setScrollPosition(-scrollOrigin() + scrollOffset, |
- scrollType, scrollBehavior); |
+ void scrollToAbsolutePosition( |
+ const FloatPoint& position, |
+ ScrollBehavior scrollBehavior = ScrollBehaviorInstant, |
+ ScrollType scrollType = ProgrammaticScroll) { |
+ setScrollOffset(position - scrollOrigin(), scrollType, scrollBehavior); |
} |
- void setScrollPosition( |
- const DoublePoint& position, |
- ScrollType scrollType, |
- ScrollBehavior scrollBehavior = ScrollBehaviorInstant) override { |
- scrollToOffset(toDoubleSize(position), scrollBehavior, scrollType); |
- } |
+ // This will set the scroll position without clamping, and it will do all |
+ // post-update work even if the scroll position didn't change. |
+ void setScrollOffsetUnconditionally(const ScrollOffset&, |
+ ScrollType = ProgrammaticScroll); |
// This will set the scroll position without clamping, and it will do all |
// post-update work even if the scroll position didn't change. |
@@ -341,7 +337,7 @@ class CORE_EXPORT PaintLayerScrollableArea final |
// Currently, they run at the end of box()'es layout (or after all flexbox |
// layout has finished) but while document layout is still happening. |
void updateAfterLayout(); |
- void clampScrollPositionsAfterLayout(); |
+ void clampScrollOffsetsAfterLayout(); |
void updateAfterStyleChange(const ComputedStyle*); |
void updateAfterOverflowRecalc(); |
@@ -392,7 +388,7 @@ class CORE_EXPORT PaintLayerScrollableArea final |
bool hitTestResizerInFragments(const PaintLayerFragments&, |
const HitTestLocation&) const; |
- // Returns the new position, after scrolling, of the given rect in absolute |
+ // Returns the new offset, after scrolling, of the given rect in absolute |
// coordinates, clipped by the parent's client rect. |
LayoutRect scrollIntoView(const LayoutRect&, |
const ScrollAlignment& alignX, |
@@ -455,13 +451,10 @@ class CORE_EXPORT PaintLayerScrollableArea final |
} |
void resetRebuildScrollbarLayerFlags(); |
- // Did DelayScrollPositionClampScope prevent us from running |
- // clampScrollPositionsAfterLayout() |
- // in updateAfterLayout()? |
- bool needsScrollPositionClamp() const { return m_needsScrollPositionClamp; } |
- void setNeedsScrollPositionClamp(bool val) { |
- m_needsScrollPositionClamp = val; |
- } |
+ // Did DelayScrollOffsetClampScope prevent us from running |
+ // clampScrollOffsetsAfterLayout() in updateAfterLayout()? |
+ bool needsScrollOffsetClamp() const { return m_needsScrollOffsetClamp; } |
+ void setNeedsScrollOffsetClamp(bool val) { m_needsScrollOffsetClamp = val; } |
// Did PreventRelayoutScope prevent us from running re-layout due to |
// adding/subtracting scrollbars in updateAfterLayout()? |
@@ -511,7 +504,7 @@ class CORE_EXPORT PaintLayerScrollableArea final |
void updateScrollOrigin(); |
void updateScrollDimensions(); |
- void setScrollOffset(const DoublePoint&, ScrollType) override; |
+ void updateScrollOffset(const ScrollOffset&, ScrollType) override; |
int verticalScrollbarStart(int minX, int maxX) const; |
int horizontalScrollbarStart(int minX) const; |
@@ -560,7 +553,7 @@ class CORE_EXPORT PaintLayerScrollableArea final |
unsigned m_rebuildHorizontalScrollbarLayer : 1; |
unsigned m_rebuildVerticalScrollbarLayer : 1; |
- unsigned m_needsScrollPositionClamp : 1; |
+ unsigned m_needsScrollOffsetClamp : 1; |
unsigned m_needsRelayout : 1; |
unsigned m_hadHorizontalScrollbarBeforeRelayout : 1; |
unsigned m_hadVerticalScrollbarBeforeRelayout : 1; |
@@ -574,8 +567,8 @@ class CORE_EXPORT PaintLayerScrollableArea final |
// ScrollbarManager holds the Scrollbar instances. |
ScrollbarManager m_scrollbarManager; |
- // This is the (scroll) offset from scrollOrigin(). |
- DoubleSize m_scrollOffset; |
+ // This is the offset from the beginning of content flow. |
+ ScrollOffset m_scrollOffset; |
IntPoint m_cachedOverlayScrollbarOffset; |