[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