Commit 92112981 authored by skobes@chromium.org's avatar skobes@chromium.org

Clamp scroll offset to min/max in PopupListBox::updateScrollbars.

This was previously done in ScrollView::setScrollOffsetFromUpdateScrollbars but
got lost with http://crrev.com/598093008.

BUG=424042

Review URL: https://codereview.chromium.org/662733002

git-svn-id: svn://svn.chromium.org/blink/trunk@183870 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent d1a366ca
...@@ -966,7 +966,7 @@ IntRect PopupListBox::visibleContentRect(IncludeScrollbarsInRect scrollbarInclus ...@@ -966,7 +966,7 @@ IntRect PopupListBox::visibleContentRect(IncludeScrollbarsInRect scrollbarInclus
return IntRect(m_scrollOffset, size); return IntRect(m_scrollOffset, size);
} }
void PopupListBox::updateScrollbars(const IntPoint& desiredOffset) void PopupListBox::updateScrollbars(IntPoint desiredOffset)
{ {
IntSize oldVisibleSize = visibleContentRect().size(); IntSize oldVisibleSize = visibleContentRect().size();
adjustScrollbarExistence(); adjustScrollbarExistence();
...@@ -979,6 +979,10 @@ void PopupListBox::updateScrollbars(const IntPoint& desiredOffset) ...@@ -979,6 +979,10 @@ void PopupListBox::updateScrollbars(const IntPoint& desiredOffset)
else else
invalidateRect(IntRect(oldVisibleSize.width(), 0, newVisibleSize.width() - oldVisibleSize.width(), newVisibleSize.height())); invalidateRect(IntRect(oldVisibleSize.width(), 0, newVisibleSize.width() - oldVisibleSize.width(), newVisibleSize.height()));
} }
desiredOffset = desiredOffset.shrunkTo(maximumScrollPosition());
desiredOffset = desiredOffset.expandedTo(minimumScrollPosition());
if (desiredOffset != scrollPosition()) if (desiredOffset != scrollPosition())
ScrollableArea::scrollToOffsetWithoutAnimation(desiredOffset); ScrollableArea::scrollToOffsetWithoutAnimation(desiredOffset);
} }
......
...@@ -243,7 +243,7 @@ private: ...@@ -243,7 +243,7 @@ private:
int scrollX() const { return scrollPosition().x(); } int scrollX() const { return scrollPosition().x(); }
int scrollY() const { return scrollPosition().y(); } int scrollY() const { return scrollPosition().y(); }
void updateScrollbars(const IntPoint& desiredOffset); void updateScrollbars(IntPoint desiredOffset);
void setHasVerticalScrollbar(bool); void setHasVerticalScrollbar(bool);
Scrollbar* scrollbarAtWindowPoint(const IntPoint& windowPoint); Scrollbar* scrollbarAtWindowPoint(const IntPoint& windowPoint);
IntRect contentsToWindow(const IntRect&) const; IntRect contentsToWindow(const IntRect&) const;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment