Source/WebCore: [Gtk] Process Gtk 3.4 smooth scroll events properly.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2012 00:34:34 +0000 (00:34 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2012 00:34:34 +0000 (00:34 +0000)
commit5fd54e8750157f5dde74a4d88c6b47373cee835d
tree68cb2ffbfcd13d960461b289204d21a460331147
parent36cb9c184661d2bbee87a0341141a9ca4f136a4e
Source/WebCore: [Gtk] Process Gtk 3.4 smooth scroll events properly.
https://bugs.webkit.org/show_bug.cgi?id=88070

Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
provides detailed delta information.

Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
code to process properly the new direction GDK_SCROLL_SMOOTH and
its deltas.

Patch by José Dapena Paz <jdapena@igalia.com> on 2012-08-29
Reviewed by Martin Robinson.

Test: fast/events/continuous-platform-wheelevent-in-scrolling-div.html

* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):

Source/WebKit/gtk: [Gtk] Process Gtk 3.4 smooth scroll events properly.
https://bugs.webkit.org/show_bug.cgi?id=88070

Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
provides detailed delta information.

Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
code to process properly the new direction GDK_SCROLL_SMOOTH and
its deltas.

Patch by José Dapena Paz <jdapena@igalia.com> on 2012-08-29
Reviewed by Martin Robinson.

* webkit/webkitwebview.cpp:
(webkit_web_view_realize):

Source/WebKit2: [Gtk] Process Gtk 3.4 smooth scroll events properly.
https://bugs.webkit.org/show_bug.cgi?id=88070

Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
provides detailed delta information.

Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
code to process properly the new direction GDK_SCROLL_SMOOTH and
its deltas.

Patch by José Dapena Paz <jdapena@igalia.com> on 2012-08-29
Reviewed by Martin Robinson.

* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize):

Tools: [Gtk] Process Gtk 3.4 smooth scroll events properly
https://bugs.webkit.org/show_bug.cgi?id=88070

Added continousMouseScrollBy support in WebKitTestRunner, and added
implementation for gtk, and stub for Qt, mac and EFL.

Added layout tests support for smooth scroll in Gtk 3.4, and use smooth
scroll for emulating multi-tick mouseScrollBy events.

Patch by José Dapena Paz <jdapena@igalia.com> on 2012-08-29
Reviewed by Martin Robinson.

* DumpRenderTree/gtk/EventSender.cpp:
(mouseScrollByCallback):
(continuousMouseScrollByCallback):
* WebKitTestRunner/EventSenderProxy.h:
(EventSenderProxy):
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::mouseScrollBy):
(WTR):
(WTR::EventSendingController::continuousMouseScrollBy):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
(EventSendingController):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp:
(WTR):
(WTR::EventSenderProxy::continuousMouseScrollBy):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::continuousScrollBy):
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR):

LayoutTests: [Gtk] Process Gtk 3.4 smooth scroll events properly.
https://bugs.webkit.org/show_bug.cgi?id=88070

Added layout tests support for smooth scroll in Gtk 3.4, and use smooth
scroll for emulating multi-tick mouseScrollBy events.

Patch by José Dapena Paz <jdapena@igalia.com> on 2012-08-29
Reviewed by Martin Robinson.

* platform/gtk-wk2/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Added.
* platform/gtk-wk2/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Added.
* platform/gtk/TestExpectations:
* platform/gtk/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt: Added.
* platform/gtk/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@127070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
24 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/gtk-wk2/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk-wk2/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/gtk/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/webkit/webkitwebview.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/gtk/WebEventFactory.cpp
Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
Tools/ChangeLog
Tools/DumpRenderTree/gtk/EventSender.cpp
Tools/WebKitTestRunner/EventSenderProxy.h
Tools/WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl
Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
Tools/WebKitTestRunner/InjectedBundle/EventSendingController.h
Tools/WebKitTestRunner/TestController.cpp
Tools/WebKitTestRunner/efl/EventSenderProxyEfl.cpp
Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp
Tools/WebKitTestRunner/mac/EventSenderProxy.mm
Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp