Title: [110737] trunk/Source/WebCore
- Revision
- 110737
- Author
- [email protected]
- Date
- 2012-03-14 13:07:42 -0700 (Wed, 14 Mar 2012)
Log Message
Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
https://bugs.webkit.org/show_bug.cgi?id=81146
<rdar://problem/10850075>
Reviewed by Beth Dakin.
If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
can look really bad if layout happens in response to the page being scrolled.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (110736 => 110737)
--- trunk/Source/WebCore/ChangeLog 2012-03-14 19:58:02 UTC (rev 110736)
+++ trunk/Source/WebCore/ChangeLog 2012-03-14 20:07:42 UTC (rev 110737)
@@ -1,3 +1,18 @@
+2012-03-14 Anders Carlsson <[email protected]>
+
+ Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
+ https://bugs.webkit.org/show_bug.cgi?id=81146
+ <rdar://problem/10850075>
+
+ Reviewed by Beth Dakin.
+
+ If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
+ to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
+ can look really bad if layout happens in response to the page being scrolled.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
2012-03-14 Tommy Widenflycht <[email protected]>
MediaStream API (JSEP): Introducing IceCandidate
Modified: trunk/Source/WebCore/platform/ScrollView.cpp (110736 => 110737)
--- trunk/Source/WebCore/platform/ScrollView.cpp 2012-03-14 19:58:02 UTC (rev 110736)
+++ trunk/Source/WebCore/platform/ScrollView.cpp 2012-03-14 20:07:42 UTC (rev 110737)
@@ -590,7 +590,10 @@
invalidateScrollCornerRect(oldScrollCornerRect);
}
- IntPoint adjustedScrollPosition = adjustScrollPositionWithinRange(IntPoint(desiredOffset));
+ IntPoint adjustedScrollPosition = IntPoint(desiredOffset);
+ if (overhangAmount().isZero())
+ adjustedScrollPosition = adjustScrollPositionWithinRange(adjustedScrollPosition);
+
if (adjustedScrollPosition != scrollPosition() || scrollOriginChanged()) {
ScrollableArea::scrollToOffsetWithoutAnimation(adjustedScrollPosition + IntSize(scrollOrigin().x(), scrollOrigin().y()));
resetScrollOriginChanged();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes