Skip to content
  • hausmann@webkit.org's avatar
    [Qt] Add support for touch cancellation · e443c49d
    hausmann@webkit.org authored
    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
    e443c49d