WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message
authorbweinstein@apple.com <bweinstein@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Apr 2011 18:31:19 +0000 (18:31 +0000)
committerbweinstein@apple.com <bweinstein@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Apr 2011 18:31:19 +0000 (18:31 +0000)
commitb6b62e8df3f0713d656240139d79146d1a7af8c1
tree849df57a7e5ef950f473350d803d92547f2e357c
parentfced2362fdc2b3c84a82ed111ace1cef4dcc5ff0
WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message
https://bugs.webkit.org/show_bug.cgi?id=58167
<rdar://problem/9259813>

Reviewed by Adam Roben.

Instead of making GestureDidScroll sync, have WebPageWin call from WebProcess ->
UIProcess when the gesture causes the page to scroll to the beginning or the
end of the document.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::gestureDidScroll): Not a sync message anymore.
(WebKit::WebPageProxy::setGestureScrollingLimitReached): Tell the page client that the gesture
    scrolling limnit was reached.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Add a new message.
* UIProcess/win/WebView.cpp:
(WebKit::WebView::WebView): Initialize new variable.
(WebKit::WebView::onGesture): Use the state of the member variable, not the response from
    the sync message.
* UIProcess/win/WebView.h:
(WebKit::WebView::setGestureScrollingLimitReached):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::scrollbarAtTopOfBottomOrDocument): Returns whether or not the scrollbar is at the
    top or bottom of the document.
(WebKit::WebPage::gestureDidScroll): Track whether or not we started at the beginning
    or end of the document, and whether or not we ended at the beginning or end of the document,
    and send a message if the value changed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@83460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/PageClient.h
Source/WebKit2/UIProcess/WebPageProxy.cpp
Source/WebKit2/UIProcess/WebPageProxy.h
Source/WebKit2/UIProcess/WebPageProxy.messages.in
Source/WebKit2/UIProcess/win/WebView.cpp
Source/WebKit2/UIProcess/win/WebView.h
Source/WebKit2/WebProcess/WebPage/WebPage.cpp
Source/WebKit2/WebProcess/WebPage/WebPage.h
Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
Source/WebKit2/WebProcess/WebPage/win/WebPageWin.cpp