Wheel events should be re-dispatched to the scrolling thread
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Feb 2012 22:06:39 +0000 (22:06 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Feb 2012 22:06:39 +0000 (22:06 +0000)
commite8b47ff03b97265a85d98bc38620479070fbc014
tree22175d6b2da2c505a817433cdaecba7d11f57116
parent843bb6b7d203e023fc68110ba0d233bfb5ecc8cf
Wheel events should be re-dispatched to the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=78731
<rdar://problem/10866144>

Reviewed by Sam Weinig.

When threaded scrolling is enabled, all the state is assumed to be kept in the scrolling tree,
on the scrolling thread. This means that even if we do end up processing an event on the main thread
(because of wheel event handlers for example), we still have to dispatch the wheel event back to the
scrolling thread.

* page/FrameView.cpp:
(WebCore::FrameView::wheelEvent):
Move wheelEvent from ScrollView and ask the scrolling coordinator to handle the wheel event.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleWheelEvent):
Dispatch the event to the scrolling thread, unless it will start a gesture. In that case we'll return false
so that information will be passed back to the UI process.

(ScrollingCoordinator):
* platform/ScrollView.cpp:
* platform/ScrollView.h:
Move wheelEvent to FrameView.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp
Source/WebCore/page/FrameView.h
Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
Source/WebCore/page/scrolling/ScrollingCoordinator.h
Source/WebCore/platform/ScrollView.cpp
Source/WebCore/platform/ScrollView.h