Changeset 55541 in webkit


Ignore:
Timestamp:
Mar 4, 2010 11:30:42 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-03-04 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Simon Hausmann.

Make Qt DumpRenderTree EventSender able to send double click events

LayoutTests:

fast/events/dblclick-addEventListener.html

[Qt] DRT: Send double click event from EventSender
https://bugs.webkit.org/show_bug.cgi?id=35255

  • platform/qt/Skipped:

2010-03-04 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Simon Hausmann.

Make Qt DumpRenderTree EventSender able to send double click events

LayoutTests:

fast/events/dblclick-addEventListener.html

[Qt] DRT: Send double click event from EventSender
https://bugs.webkit.org/show_bug.cgi?id=35255

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
  • DumpRenderTree/qt/EventSenderQt.cpp: (EventSender::EventSender): (EventSender::mouseDown):
  • DumpRenderTree/qt/EventSenderQt.h: (EventSender::resetClickCount):
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r55533 r55541  
     12010-03-04  Diego Gonzalez  <diego.gonzalez@openbossa.org>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        Make Qt DumpRenderTree EventSender able to send double click events
     6
     7        LayoutTests:
     8            fast/events/dblclick-addEventListener.html
     9
     10        [Qt] DRT: Send double click event from EventSender
     11        https://bugs.webkit.org/show_bug.cgi?id=35255
     12
     13        * platform/qt/Skipped:
     14
    1152010-03-04  Shu Chang  <Chang.Shu@nokia.com>
    216
  • trunk/LayoutTests/platform/qt/Skipped

    r55533 r55541  
    445445fast/events/click-count.html
    446446fast/events/content-changed-during-drop.html
    447 fast/events/dblclick-addEventListener.html
    448447fast/events/drag-in-frames.html
    449448fast/events/focusingUnloadedFrame.html
  • trunk/WebKitTools/ChangeLog

    r55520 r55541  
     12010-03-04  Diego Gonzalez  <diego.gonzalez@openbossa.org>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        Make Qt DumpRenderTree EventSender able to send double click events
     6
     7        LayoutTests:
     8            fast/events/dblclick-addEventListener.html
     9
     10        [Qt] DRT: Send double click event from EventSender
     11        https://bugs.webkit.org/show_bug.cgi?id=35255
     12
     13        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
     14        (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
     15        * DumpRenderTree/qt/EventSenderQt.cpp:
     16        (EventSender::EventSender):
     17        (EventSender::mouseDown):
     18        * DumpRenderTree/qt/EventSenderQt.h:
     19        (EventSender::resetClickCount):
     20
    1212010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
    222
  • trunk/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp

    r55280 r55541  
    393393    m_controller->reset();
    394394
     395    // reset mouse clicks counter
     396    m_eventSender->resetClickCount();
     397
    395398    closeRemainingWindows();
    396399
  • trunk/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp

    r55230 r55541  
    6868    startOfQueue = 0;
    6969    m_eventLoop = 0;
     70    m_currentButton = 0;
     71    resetClickCount();
    7072    m_page->view()->installEventFilter(this);
    7173}
     
    9395    }
    9496
     97    // only consider a click to count, an event originated by the
     98    // same previous button and at the same position.
     99    if (m_currentButton == button
     100        && m_mousePos == m_clickPos
     101        && m_clickTimer.isActive())
     102        m_clickCount++;
     103    else
     104        m_clickCount = 1;
     105
     106    m_currentButton = button;
     107    m_clickPos = m_mousePos;
    95108    m_mouseButtons |= mouseButton;
    96109
    97110//     qDebug() << "EventSender::mouseDown" << frame;
    98     QMouseEvent* event = new QMouseEvent(QEvent::MouseButtonPress, m_mousePos, m_mousePos, mouseButton, m_mouseButtons, Qt::NoModifier);
     111    QMouseEvent* event;
     112    event = new QMouseEvent((m_clickCount == 2) ? QEvent::MouseButtonDblClick :
     113                    QEvent::MouseButtonPress, m_mousePos, m_mousePos,
     114                    mouseButton, m_mouseButtons, Qt::NoModifier);
     115
    99116    sendOrQueueEvent(event);
     117
     118    m_clickTimer.start(QApplication::doubleClickInterval(), this);
    100119}
    101120
     
    515534    return false;
    516535}
     536
     537void EventSender::timerEvent(QTimerEvent* ev)
     538{
     539    m_clickTimer.stop();
     540}
  • trunk/WebKitTools/DumpRenderTree/qt/EventSenderQt.h

    r55019 r55541  
    3131
    3232#include <QApplication>
     33#include <QBasicTimer>
    3334#include <QEvent>
    3435#include <QEventLoop>
     
    5152    EventSender(QWebPage* parent);
    5253    virtual bool eventFilter(QObject* watched, QEvent* event);
     54    void resetClickCount() { m_clickCount = 0; }
    5355
    5456public slots:
     
    7476    void releaseTouchPoint(int index);
    7577
     78protected:
     79    void timerEvent(QTimerEvent*);
     80
    7681private:
    7782    void sendTouchEvent(QEvent::Type);
     
    7984    void replaySavedEvents(bool flush);
    8085    QPoint m_mousePos;
     86    QPoint m_clickPos;
    8187    Qt::MouseButtons m_mouseButtons;
    8288    QWebPage* m_page;
    83     int m_timeLeap;
     89    int m_clickCount;
     90    int m_currentButton;
    8491    bool m_mouseButtonPressed;
    8592    bool m_drag;
    8693    QEventLoop* m_eventLoop;
    8794    QWebFrame* frameUnderMouse() const;
     95    QBasicTimer m_clickTimer;
    8896#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
    8997    QList<QTouchEvent::TouchPoint> m_touchPoints;
Note: See TracChangeset for help on using the changeset viewer.