Changeset 60803 in webkit


Ignore:
Timestamp:
Jun 7, 2010 3:13:03 PM (14 years ago)
Author:
Martin Robinson
Message:

2010-06-07 Martin Robinson <mrobinson@igalia.com>

Reviewed by Oliver Hunt.

[GTK] Mouse movement should not trigger a replay of saved events in the event sender
https://bugs.webkit.org/show_bug.cgi?id=40267

When a mouse button is down, automatically queue mouse motion events and
do not play them back until the mouse button is released. This matches the
behavior of other ports' EventSenders.

  • DumpRenderTree/gtk/EventSender.cpp: (mouseMoveToCallback): Don't automatically replaySavedEvents for mouse motion. (sendOrQueueEvent): Add a shouldReplaySavedEvents argument defaulting to true.
Location:
trunk/WebKitTools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r60784 r60803  
     12010-06-07  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Oliver Hunt.
     4
     5        [GTK] Mouse movement should not trigger a replay of saved events in the event sender
     6        https://bugs.webkit.org/show_bug.cgi?id=40267
     7
     8        When a mouse button is down, automatically queue mouse motion events and
     9        do not play them back until the mouse button is released. This matches the
     10        behavior of other ports' EventSenders.
     11
     12        * DumpRenderTree/gtk/EventSender.cpp:
     13        (mouseMoveToCallback): Don't automatically replaySavedEvents for mouse motion.
     14        (sendOrQueueEvent): Add a shouldReplaySavedEvents argument defaulting to true.
     15
    1162010-06-07  Nikolas Zimmermann  <nzimmermann@rim.com>
    217
  • trunk/WebKitTools/DumpRenderTree/gtk/EventSender.cpp

    r60700 r60803  
    8484};
    8585
    86 static void sendOrQueueEvent(GdkEvent event);
     86static void sendOrQueueEvent(GdkEvent, bool = true);
    8787static void dispatchEvent(GdkEvent event);
    8888static guint getStateFlags();
     
    295295    event.motion.y_root = yRoot;
    296296
    297     sendOrQueueEvent(event);
     297    sendOrQueueEvent(event, false);
    298298    return JSValueMakeUndefined(context);
    299299}
     
    347347}
    348348
    349 static void sendOrQueueEvent(GdkEvent event)
     349static void sendOrQueueEvent(GdkEvent event, bool shouldReplaySavedEvents)
    350350{
    351351    // Mouse move events are queued if the previous event was queued or if a
    352352    // delay was set up by leapForward().
    353     if (endOfQueue != startOfQueue || msgQueue[endOfQueue].delay) {
     353    if (buttonCurrentlyDown || endOfQueue != startOfQueue || msgQueue[endOfQueue].delay) {
    354354        msgQueue[endOfQueue++].event = event;
    355         replaySavedEvents();
     355
     356        if (shouldReplaySavedEvents)
     357            replaySavedEvents();
     358
    356359        return;
    357360    }
Note: See TracChangeset for help on using the changeset viewer.