Changeset 109326 in webkit


Ignore:
Timestamp:
Mar 1, 2012 1:32:13 AM (12 years ago)
Author:
Simon Hausmann
Message:

[Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
https://bugs.webkit.org/show_bug.cgi?id=78047

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
QtWebPageEventHandler::handle*Event.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebView::keyPressEvent):
(QQuickWebView::keyReleaseEvent):
(QQuickWebView::inputMethodEvent):
(QQuickWebView::focusInEvent):
(QQuickWebView::focusOutEvent):
(QQuickWebView::touchEvent):
(QQuickWebView::mousePressEvent):
(QQuickWebView::mouseMoveEvent):
(QQuickWebView::mouseReleaseEvent):
(QQuickWebView::mouseDoubleClickEvent):
(QQuickWebView::wheelEvent):
(QQuickWebView::hoverEnterEvent):
(QQuickWebView::hoverMoveEvent):
(QQuickWebView::hoverLeaveEvent):
(QQuickWebView::dragMoveEvent):
(QQuickWebView::dragEnterEvent):
(QQuickWebView::dragLeaveEvent):
(QQuickWebView::dropEvent):
(QQuickWebView::event):

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(QtWebPageEventHandler::handleMouseMoveEvent):
(QtWebPageEventHandler::handleMousePressEvent):
(QtWebPageEventHandler::handleMouseReleaseEvent):
(QtWebPageEventHandler::handleWheelEvent):
(QtWebPageEventHandler::handleHoverLeaveEvent):
(QtWebPageEventHandler::handleHoverMoveEvent):
(QtWebPageEventHandler::handleDragEnterEvent):
(QtWebPageEventHandler::handleDragLeaveEvent):
(QtWebPageEventHandler::handleDragMoveEvent):
(QtWebPageEventHandler::handleDropEvent):
(QtWebPageEventHandler::handleKeyPressEvent):
(QtWebPageEventHandler::handleKeyReleaseEvent):
(QtWebPageEventHandler::handleFocusInEvent):
(QtWebPageEventHandler::handleFocusOutEvent):
(QtWebPageEventHandler::handleInputMethodEvent):
(QtWebPageEventHandler::handleTouchEvent):

  • UIProcess/qt/QtWebPageEventHandler.h:

(QtWebPageEventHandler):

Tools:

Send events for the webview through the QQuickCanvas instead of directly to the item. Direct
sending to the item requires the QObject::event re-implementation to dispatch to the correct
event handling function. However QQuickItem::event doesn't do that. Instead QQuickCanvas calls
the event handlers directly, and with the removal of our own dispatching we need to go through
that code path.

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::PlatformWebView::sendEvent):
(WTR::PlatformWebView::postEvent):

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r109322 r109326  
     12012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
     2
     3        [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
     4        https://bugs.webkit.org/show_bug.cgi?id=78047
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
     9        QtWebPageEventHandler::handle*Event.
     10
     11        * UIProcess/API/qt/qquickwebview.cpp:
     12        (QQuickWebView::keyPressEvent):
     13        (QQuickWebView::keyReleaseEvent):
     14        (QQuickWebView::inputMethodEvent):
     15        (QQuickWebView::focusInEvent):
     16        (QQuickWebView::focusOutEvent):
     17        (QQuickWebView::touchEvent):
     18        (QQuickWebView::mousePressEvent):
     19        (QQuickWebView::mouseMoveEvent):
     20        (QQuickWebView::mouseReleaseEvent):
     21        (QQuickWebView::mouseDoubleClickEvent):
     22        (QQuickWebView::wheelEvent):
     23        (QQuickWebView::hoverEnterEvent):
     24        (QQuickWebView::hoverMoveEvent):
     25        (QQuickWebView::hoverLeaveEvent):
     26        (QQuickWebView::dragMoveEvent):
     27        (QQuickWebView::dragEnterEvent):
     28        (QQuickWebView::dragLeaveEvent):
     29        (QQuickWebView::dropEvent):
     30        (QQuickWebView::event):
     31        * UIProcess/qt/QtWebPageEventHandler.cpp:
     32        (QtWebPageEventHandler::handleMouseMoveEvent):
     33        (QtWebPageEventHandler::handleMousePressEvent):
     34        (QtWebPageEventHandler::handleMouseReleaseEvent):
     35        (QtWebPageEventHandler::handleWheelEvent):
     36        (QtWebPageEventHandler::handleHoverLeaveEvent):
     37        (QtWebPageEventHandler::handleHoverMoveEvent):
     38        (QtWebPageEventHandler::handleDragEnterEvent):
     39        (QtWebPageEventHandler::handleDragLeaveEvent):
     40        (QtWebPageEventHandler::handleDragMoveEvent):
     41        (QtWebPageEventHandler::handleDropEvent):
     42        (QtWebPageEventHandler::handleKeyPressEvent):
     43        (QtWebPageEventHandler::handleKeyReleaseEvent):
     44        (QtWebPageEventHandler::handleFocusInEvent):
     45        (QtWebPageEventHandler::handleFocusOutEvent):
     46        (QtWebPageEventHandler::handleInputMethodEvent):
     47        (QtWebPageEventHandler::handleTouchEvent):
     48        * UIProcess/qt/QtWebPageEventHandler.h:
     49        (QtWebPageEventHandler):
     50
    1512012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
    252
  • trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp

    r109136 r109326  
    13061306void QQuickWebView::keyPressEvent(QKeyEvent* event)
    13071307{
    1308     this->event(event);
     1308    Q_D(QQuickWebView);
     1309    d->pageView->eventHandler()->handleKeyPressEvent(event);
    13091310}
    13101311
    13111312void QQuickWebView::keyReleaseEvent(QKeyEvent* event)
    13121313{
    1313     this->event(event);
     1314    Q_D(QQuickWebView);
     1315    d->pageView->eventHandler()->handleKeyReleaseEvent(event);
    13141316}
    13151317
    13161318void QQuickWebView::inputMethodEvent(QInputMethodEvent* event)
    13171319{
    1318     this->event(event);
     1320    Q_D(QQuickWebView);
     1321    d->pageView->eventHandler()->handleInputMethodEvent(event);
    13191322}
    13201323
    13211324void QQuickWebView::focusInEvent(QFocusEvent* event)
    13221325{
    1323     this->event(event);
     1326    Q_D(QQuickWebView);
     1327    d->pageView->eventHandler()->handleFocusInEvent(event);
    13241328}
    13251329
    13261330void QQuickWebView::focusOutEvent(QFocusEvent* event)
    13271331{
    1328     this->event(event);
     1332    Q_D(QQuickWebView);
     1333    d->pageView->eventHandler()->handleFocusOutEvent(event);
    13291334}
    13301335
    13311336void QQuickWebView::touchEvent(QTouchEvent* event)
    13321337{
     1338    Q_D(QQuickWebView);
    13331339    forceActiveFocus();
    1334     this->event(event);
     1340    d->pageView->eventHandler()->handleTouchEvent(event);
    13351341}
    13361342
    13371343void QQuickWebView::mousePressEvent(QMouseEvent* event)
    13381344{
     1345    Q_D(QQuickWebView);
    13391346    forceActiveFocus();
    1340     this->event(event);
     1347    d->pageView->eventHandler()->handleMousePressEvent(event);
    13411348}
    13421349
    13431350void QQuickWebView::mouseMoveEvent(QMouseEvent* event)
    13441351{
    1345     this->event(event);
     1352    Q_D(QQuickWebView);
     1353    d->pageView->eventHandler()->handleMouseMoveEvent(event);
    13461354}
    13471355
    13481356void QQuickWebView::mouseReleaseEvent(QMouseEvent* event)
    13491357{
    1350     this->event(event);
     1358    Q_D(QQuickWebView);
     1359    d->pageView->eventHandler()->handleMouseReleaseEvent(event);
    13511360}
    13521361
    13531362void QQuickWebView::mouseDoubleClickEvent(QMouseEvent* event)
    13541363{
    1355     this->event(event);
     1364    Q_D(QQuickWebView);
     1365    // If a MouseButtonDblClick was received then we got a MouseButtonPress before
     1366    // handleMousePressEvent will take care of double clicks.
     1367    d->pageView->eventHandler()->handleMousePressEvent(event);
    13561368}
    13571369
    13581370void QQuickWebView::wheelEvent(QWheelEvent* event)
    13591371{
    1360     this->event(event);
     1372    Q_D(QQuickWebView);
     1373    d->pageView->eventHandler()->handleWheelEvent(event);
    13611374}
    13621375
    13631376void QQuickWebView::hoverEnterEvent(QHoverEvent* event)
    13641377{
    1365     this->event(event);
     1378    Q_D(QQuickWebView);
     1379    // Map HoverEnter to Move, for WebKit the distinction doesn't matter.
     1380    d->pageView->eventHandler()->handleHoverMoveEvent(event);
    13661381}
    13671382
    13681383void QQuickWebView::hoverMoveEvent(QHoverEvent* event)
    13691384{
    1370     this->event(event);
     1385    Q_D(QQuickWebView);
     1386    d->pageView->eventHandler()->handleHoverMoveEvent(event);
    13711387}
    13721388
    13731389void QQuickWebView::hoverLeaveEvent(QHoverEvent* event)
    13741390{
    1375     this->event(event);
     1391    Q_D(QQuickWebView);
     1392    d->pageView->eventHandler()->handleHoverLeaveEvent(event);
    13761393}
    13771394
    13781395void QQuickWebView::dragMoveEvent(QDragMoveEvent* event)
    13791396{
    1380     this->event(event);
     1397    Q_D(QQuickWebView);
     1398    d->pageView->eventHandler()->handleDragMoveEvent(event);
    13811399}
    13821400
    13831401void QQuickWebView::dragEnterEvent(QDragEnterEvent* event)
    13841402{
    1385     this->event(event);
     1403    Q_D(QQuickWebView);
     1404    d->pageView->eventHandler()->handleDragEnterEvent(event);
    13861405}
    13871406
    13881407void QQuickWebView::dragLeaveEvent(QDragLeaveEvent* event)
    13891408{
    1390     this->event(event);
     1409    Q_D(QQuickWebView);
     1410    d->pageView->eventHandler()->handleDragLeaveEvent(event);
    13911411}
    13921412
    13931413void QQuickWebView::dropEvent(QDropEvent* event)
    13941414{
    1395     this->event(event);
     1415    Q_D(QQuickWebView);
     1416    d->pageView->eventHandler()->handleDropEvent(event);
    13961417}
    13971418
    13981419bool QQuickWebView::event(QEvent* ev)
    13991420{
    1400     Q_D(QQuickWebView);
    1401 
    1402     switch (ev->type()) {
    1403     case QEvent::MouseMove:
    1404     case QEvent::MouseButtonPress:
    1405     case QEvent::MouseButtonRelease:
    1406     case QEvent::MouseButtonDblClick:
    1407     case QEvent::Wheel:
    1408     case QEvent::HoverLeave:
    1409     case QEvent::HoverEnter:
    1410     case QEvent::HoverMove:
    1411     case QEvent::DragEnter:
    1412     case QEvent::DragLeave:
    1413     case QEvent::DragMove:
    1414     case QEvent::Drop:
    1415     case QEvent::KeyPress:
    1416     case QEvent::KeyRelease:
    1417     case QEvent::FocusIn:
    1418     case QEvent::FocusOut:
    1419     case QEvent::TouchBegin:
    1420     case QEvent::TouchEnd:
    1421     case QEvent::TouchCancel:
    1422     case QEvent::TouchUpdate:
    1423         if (d->pageView->eventHandler()->handleEvent(ev))
    1424             return true;
    1425     }
    1426 
    1427     if (ev->type() == QEvent::InputMethod)
    1428         return false; // This is necessary to avoid an endless loop in connection with QQuickItem::event().
    1429 
     1421    // Re-implemented for possible future use without breaking binary compatibility.
    14301422    return QQuickItem::event(ev);
    14311423}
  • trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp

    r108805 r109326  
    107107}
    108108
    109 bool QtWebPageEventHandler::handleEvent(QEvent* ev)
    110 {
    111     switch (ev->type()) {
    112     case QEvent::MouseMove:
    113         return handleMouseMoveEvent(static_cast<QMouseEvent*>(ev));
    114     case QEvent::MouseButtonPress:
    115     case QEvent::MouseButtonDblClick:
    116         // If a MouseButtonDblClick was received then we got a MouseButtonPress before
    117         // handleMousePressEvent will take care of double clicks.
    118         return handleMousePressEvent(static_cast<QMouseEvent*>(ev));
    119     case QEvent::MouseButtonRelease:
    120         return handleMouseReleaseEvent(static_cast<QMouseEvent*>(ev));
    121     case QEvent::Wheel:
    122         return handleWheelEvent(static_cast<QWheelEvent*>(ev));
    123     case QEvent::HoverLeave:
    124         return handleHoverLeaveEvent(static_cast<QHoverEvent*>(ev));
    125     case QEvent::HoverEnter: // Fall-through, for WebKit the distinction doesn't matter.
    126     case QEvent::HoverMove:
    127         return handleHoverMoveEvent(static_cast<QHoverEvent*>(ev));
    128     case QEvent::DragEnter:
    129         return handleDragEnterEvent(static_cast<QDragEnterEvent*>(ev));
    130     case QEvent::DragLeave:
    131         return handleDragLeaveEvent(static_cast<QDragLeaveEvent*>(ev));
    132     case QEvent::DragMove:
    133         return handleDragMoveEvent(static_cast<QDragMoveEvent*>(ev));
    134     case QEvent::Drop:
    135         return handleDropEvent(static_cast<QDropEvent*>(ev));
    136     case QEvent::KeyPress:
    137         return handleKeyPressEvent(static_cast<QKeyEvent*>(ev));
    138     case QEvent::KeyRelease:
    139         return handleKeyReleaseEvent(static_cast<QKeyEvent*>(ev));
    140     case QEvent::FocusIn:
    141         return handleFocusInEvent(static_cast<QFocusEvent*>(ev));
    142     case QEvent::FocusOut:
    143         return handleFocusOutEvent(static_cast<QFocusEvent*>(ev));
    144     case QEvent::TouchBegin:
    145     case QEvent::TouchEnd:
    146     case QEvent::TouchCancel:
    147     case QEvent::TouchUpdate:
    148         touchEvent(static_cast<QTouchEvent*>(ev));
    149         return true;
    150     case QEvent::InputMethod:
    151         inputMethodEvent(static_cast<QInputMethodEvent*>(ev));
    152         return false; // This is necessary to avoid an endless loop in connection with QQuickItem::event().
    153     }
    154 
    155     // FIXME: Move all common event handling here.
    156     return false;
    157 }
    158 
    159 bool QtWebPageEventHandler::handleMouseMoveEvent(QMouseEvent* ev)
     109void QtWebPageEventHandler::handleMouseMoveEvent(QMouseEvent* ev)
    160110{
    161111    // For some reason mouse press results in mouse hover (which is
     
    168118    QPointF webPagePoint = fromItemTransform.map(ev->localPos());
    169119    if (lastPos == webPagePoint)
    170         return ev->isAccepted();
     120        return;
    171121    lastPos = webPagePoint;
    172122
    173123    m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, fromItemTransform, /*eventClickCount*/ 0));
    174 
    175     return ev->isAccepted();
    176 }
    177 
    178 bool QtWebPageEventHandler::handleMousePressEvent(QMouseEvent* ev)
     124}
     125
     126void QtWebPageEventHandler::handleMousePressEvent(QMouseEvent* ev)
    179127{
    180128    QTransform fromItemTransform = m_webPage->transformFromItem();
     
    194142    m_lastClick = webPagePoint;
    195143    m_clickTimer.start(qApp->styleHints()->mouseDoubleClickInterval(), this);
    196 
    197     return ev->isAccepted();
    198 }
    199 
    200 bool QtWebPageEventHandler::handleMouseReleaseEvent(QMouseEvent* ev)
     144}
     145
     146void QtWebPageEventHandler::handleMouseReleaseEvent(QMouseEvent* ev)
    201147{
    202148    QTransform fromItemTransform = m_webPage->transformFromItem();
    203149    m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, fromItemTransform, /*eventClickCount*/ 0));
    204     return ev->isAccepted();
    205 }
    206 
    207 bool QtWebPageEventHandler::handleWheelEvent(QWheelEvent* ev)
     150}
     151
     152void QtWebPageEventHandler::handleWheelEvent(QWheelEvent* ev)
    208153{
    209154    QTransform fromItemTransform = m_webPage->transformFromItem();
     
    212157    if (m_interactionEngine)
    213158        m_interactionEngine->wheelEvent(ev);
    214     return ev->isAccepted();
    215 }
    216 
    217 bool QtWebPageEventHandler::handleHoverLeaveEvent(QHoverEvent* ev)
     159}
     160
     161void QtWebPageEventHandler::handleHoverLeaveEvent(QHoverEvent* ev)
    218162{
    219163    // To get the correct behavior of mouseout, we need to turn the Leave event of our webview into a mouse move
     
    222166    QHoverEvent fakeEvent(QEvent::HoverMove, QPoint(INT_MIN, INT_MIN), fromItemTransform.map(ev->oldPosF()));
    223167    fakeEvent.setTimestamp(ev->timestamp());
    224     return handleHoverMoveEvent(&fakeEvent);
    225 }
    226 
    227 bool QtWebPageEventHandler::handleHoverMoveEvent(QHoverEvent* ev)
     168    handleHoverMoveEvent(&fakeEvent);
     169}
     170
     171void QtWebPageEventHandler::handleHoverMoveEvent(QHoverEvent* ev)
    228172{
    229173    QTransform fromItemTransform = m_webPage->transformFromItem();
     
    231175    me.setAccepted(ev->isAccepted());
    232176    me.setTimestamp(ev->timestamp());
    233 
    234     return handleMouseMoveEvent(&me);
    235 }
    236 
    237 bool QtWebPageEventHandler::handleDragEnterEvent(QDragEnterEvent* ev)
     177    handleMouseMoveEvent(&me);
     178}
     179
     180void QtWebPageEventHandler::handleDragEnterEvent(QDragEnterEvent* ev)
    238181{
    239182    m_webPageProxy->resetDragOperation();
     
    243186    m_webPageProxy->dragEntered(&dragData);
    244187    ev->acceptProposedAction();
    245     return true;
    246 }
    247 
    248 bool QtWebPageEventHandler::handleDragLeaveEvent(QDragLeaveEvent* ev)
     188}
     189
     190void QtWebPageEventHandler::handleDragLeaveEvent(QDragLeaveEvent* ev)
    249191{
    250192    bool accepted = ev->isAccepted();
     
    256198
    257199    ev->setAccepted(accepted);
    258     return accepted;
    259 }
    260 
    261 bool QtWebPageEventHandler::handleDragMoveEvent(QDragMoveEvent* ev)
     200}
     201
     202void QtWebPageEventHandler::handleDragMoveEvent(QDragMoveEvent* ev)
    262203{
    263204    bool accepted = ev->isAccepted();
     
    272213
    273214    ev->setAccepted(accepted);
    274     return accepted;
    275 }
    276 
    277 bool QtWebPageEventHandler::handleDropEvent(QDropEvent* ev)
     215}
     216
     217void QtWebPageEventHandler::handleDropEvent(QDropEvent* ev)
    278218{
    279219    bool accepted = ev->isAccepted();
     
    287227
    288228    ev->setAccepted(accepted);
    289     return accepted;
    290229}
    291230
     
    320259}
    321260
    322 bool QtWebPageEventHandler::handleKeyPressEvent(QKeyEvent* ev)
     261void QtWebPageEventHandler::handleKeyPressEvent(QKeyEvent* ev)
    323262{
    324263    m_webPageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(ev));
    325     return true;
    326 }
    327 
    328 bool QtWebPageEventHandler::handleKeyReleaseEvent(QKeyEvent* ev)
     264}
     265
     266void QtWebPageEventHandler::handleKeyReleaseEvent(QKeyEvent* ev)
    329267{
    330268    m_webPageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(ev));
    331     return true;
    332 }
    333 
    334 bool QtWebPageEventHandler::handleFocusInEvent(QFocusEvent*)
     269}
     270
     271void QtWebPageEventHandler::handleFocusInEvent(QFocusEvent*)
    335272{
    336273    m_webPageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
    337     return true;
    338 }
    339 
    340 bool QtWebPageEventHandler::handleFocusOutEvent(QFocusEvent*)
     274}
     275
     276void QtWebPageEventHandler::handleFocusOutEvent(QFocusEvent*)
    341277{
    342278    m_webPageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
    343     return true;
    344279}
    345280
     
    349284}
    350285
    351 void QtWebPageEventHandler::inputMethodEvent(QInputMethodEvent* ev)
     286void QtWebPageEventHandler::handleInputMethodEvent(QInputMethodEvent* ev)
    352287{
    353288    QString commit = ev->commitString();
     
    416351}
    417352
    418 void QtWebPageEventHandler::touchEvent(QTouchEvent* event)
     353void QtWebPageEventHandler::handleTouchEvent(QTouchEvent* event)
    419354{
    420355#if ENABLE(TOUCH_EVENTS)
  • trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h

    r108805 r109326  
    4444    ~QtWebPageEventHandler();
    4545
    46     bool handleEvent(QEvent*);
     46    void handleKeyPressEvent(QKeyEvent*);
     47    void handleKeyReleaseEvent(QKeyEvent*);
     48    void handleFocusInEvent(QFocusEvent*);
     49    void handleFocusOutEvent(QFocusEvent*);
     50    void handleMouseMoveEvent(QMouseEvent*);
     51    void handleMousePressEvent(QMouseEvent*);
     52    void handleMouseReleaseEvent(QMouseEvent*);
     53    void handleWheelEvent(QWheelEvent*);
     54    void handleHoverLeaveEvent(QHoverEvent*);
     55    void handleHoverMoveEvent(QHoverEvent*);
     56    void handleDragEnterEvent(QDragEnterEvent*);
     57    void handleDragLeaveEvent(QDragLeaveEvent*);
     58    void handleDragMoveEvent(QDragMoveEvent*);
     59    void handleDropEvent(QDropEvent*);
     60    void handleInputMethodEvent(QInputMethodEvent*);
     61    void handleTouchEvent(QTouchEvent*);
    4762
    4863    void setViewportInteractionEngine(QtViewportInteractionEngine*);
     
    7590
    7691private:
    77     bool handleKeyPressEvent(QKeyEvent*);
    78     bool handleKeyReleaseEvent(QKeyEvent*);
    79     bool handleFocusInEvent(QFocusEvent*);
    80     bool handleFocusOutEvent(QFocusEvent*);
    81     bool handleMouseMoveEvent(QMouseEvent*);
    82     bool handleMousePressEvent(QMouseEvent*);
    83     bool handleMouseReleaseEvent(QMouseEvent*);
    84     bool handleWheelEvent(QWheelEvent*);
    85     bool handleHoverLeaveEvent(QHoverEvent*);
    86     bool handleHoverMoveEvent(QHoverEvent*);
    87     bool handleDragEnterEvent(QDragEnterEvent*);
    88     bool handleDragLeaveEvent(QDragLeaveEvent*);
    89     bool handleDragMoveEvent(QDragMoveEvent*);
    90     bool handleDropEvent(QDropEvent*);
    91 
    9292    void timerEvent(QTimerEvent*);
    93 
    94     void touchEvent(QTouchEvent*);
    95     void inputMethodEvent(QInputMethodEvent*);
    9693
    9794    QPointF m_lastClick;
  • trunk/Tools/ChangeLog

    r109317 r109326  
     12012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
     2
     3        [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
     4        https://bugs.webkit.org/show_bug.cgi?id=78047
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Send events for the webview through the QQuickCanvas instead of directly to the item. Direct
     9        sending to the item requires the QObject::event re-implementation to dispatch to the correct
     10        event handling function. However QQuickItem::event doesn't do that. Instead QQuickCanvas calls
     11        the event handlers directly, and with the removal of our own dispatching we need to go through
     12        that code path.
     13
     14        * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
     15        (WTR::PlatformWebView::sendEvent):
     16        (WTR::PlatformWebView::postEvent):
     17
    1182012-02-29  Adam Barth  <abarth@webkit.org>
    219
  • trunk/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp

    r109232 r109326  
    127127bool PlatformWebView::sendEvent(QEvent* event)
    128128{
    129     return QCoreApplication::sendEvent(m_view, event);
     129    return QCoreApplication::sendEvent(m_window, event);
    130130}
    131131
    132132void PlatformWebView::postEvent(QEvent* event)
    133133{
    134     QCoreApplication::postEvent(m_view, event);
     134    QCoreApplication::postEvent(m_window, event);
    135135}
    136136
Note: See TracChangeset for help on using the changeset viewer.