Comcast website displays bottom of page when loaded
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 12 May 2012 00:56:13 +0000 (00:56 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 12 May 2012 00:56:13 +0000 (00:56 +0000)
commit1d8785845630bb6409edc6e08b95b024fc554b1b
treeec6217e9a5b09958af3a935f83aa3ecb0d0d50b9
parent404bb4b8d538c930d26a9c73b0c4afdf3fbebf8c
Comcast website displays bottom of page when loaded
https://bugs.webkit.org/show_bug.cgi?id=86277
<rdar://problem/11426887>

Reviewed by Beth Dakin.

There were two bugs here. The first bug was that FrameView::setScrollPosition didn't end up calling into the scrolling coordinator
to update the scroll position. The second bug was that ScrollingTreeNodeMac::setScrollPosition didn't constrain the scroll position
to the edge of the page.

* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):
Call requestScrollPositionUpdate.

* page/scrolling/ScrollingTree.cpp:
* page/scrolling/ScrollingTree.h:
Remove setMainFrameScrollPosition, it is not called by anyone.

* page/scrolling/mac/ScrollingTreeNodeMac.h:
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::setScrollPosition):
Clamp to the page size and call setScrollPositionWithoutContentEdgeConstraints.

(WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
Update the scroll layer position and call back to the main thread.

(WebCore::ScrollingTreeNodeMac::scrollBy):
Call setScrollPosition.

(WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
Call setScrollPositionWithoutContentEdgeConstraints.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@116830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp
Source/WebCore/page/scrolling/ScrollingTree.cpp
Source/WebCore/page/scrolling/ScrollingTree.h
Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.h
Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm