[Qt] Add support for touch cancellation
authorhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 19:00:11 +0000 (19:00 +0000)
committerhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 19:00:11 +0000 (19:00 +0000)
commite443c49d2842129fab1a28262d5914384d82a319
tree6356ecde17be2ee224a926fd950137744741fb79
parent08b17fcebe399e56d8d1bdc1f771a7c09305dc63
[Qt] Add support for touch cancellation
https://bugs.webkit.org/show_bug.cgi?id=79348

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Map Qt touch cancel events to the WebCore equivalent.

No new tests, unskipped existing test for Qt 5.

* platform/PlatformTouchPoint.h:
(PlatformTouchPoint):
* platform/qt/PlatformTouchEventQt.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/qt/PlatformTouchPointQt.cpp:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):

Source/WebKit/qt:

Forward incoming touch cancellation events to the WebCore
event handler.

* Api/qgraphicswebview.cpp:
(QGraphicsWebView::sceneEvent):
* Api/qwebpage.cpp:
(QWebPage::event):
* Api/qwebview.cpp:
(QWebView::event):

Source/WebKit2:

Convert and forward incoming touch cancellation events
to the web process.

* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::webEventTypeForEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::event):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::handleEvent):

Tools:

Added straight-forward touch cancellation event sending to Qt WK1 DRT
and WK2 WTR.

* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::touchCancel):
(EventSender::cancelTouchPoint):
* DumpRenderTree/qt/EventSenderQt.h:
(EventSender):
* WebKitTestRunner/EventSenderProxy.h:
(EventSenderProxy):
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::touchCancel):
(WTR):
(WTR::EventSendingController::cancelTouchPoint):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
(EventSendingController):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::touchCancel):
(WTR):
(WTR::EventSenderProxy::cancelTouchPoint):

LayoutTests:

Moved touch cancel event layout tests from general skip list to the
Qt 4 specific one. The Qt 5 version we depend on has QEvent::TouchCancel, which
is all we need in order to implement touch cancellation in DRT/WTR.

* platform/qt-4.8/Skipped:
* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
24 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/qt-4.8/Skipped
LayoutTests/platform/qt/Skipped
Source/WebCore/ChangeLog
Source/WebCore/platform/PlatformTouchPoint.h
Source/WebCore/platform/qt/PlatformTouchEventQt.cpp
Source/WebCore/platform/qt/PlatformTouchPointQt.cpp
Source/WebKit/qt/Api/qgraphicswebview.cpp
Source/WebKit/qt/Api/qwebpage.cpp
Source/WebKit/qt/Api/qwebview.cpp
Source/WebKit/qt/ChangeLog
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
Tools/ChangeLog
Tools/DumpRenderTree/qt/EventSenderQt.cpp
Tools/DumpRenderTree/qt/EventSenderQt.h
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/qt/EventSenderProxyQt.cpp