Changeset 53889 in webkit


Ignore:
Timestamp:
Jan 26, 2010 8:09:22 PM (14 years ago)
Author:
tkent@chromium.org
Message:

2010-01-26 Kent Tamura <tkent@chromium.org>

Reviewed by Eric Seidel.

[Win] Add modifiers parameter support to Windows DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=34068

Remove listbox-deselect-scroll.html and listbox-selectio-2.html
from Skipped. We improved their portability and Windows DRT now
havs modifiers parameter of eventSender.mouseDown() and
eventSender.mouseUp().

  • platform/win/Skipped:

2010-01-26 Kent Tamura <tkent@chromium.org>

Reviewed by Eric Seidel.

[Win] Add modifiers parameter support to Windows DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=34068

Add support for functional name modifiers; "addSelectionKey" and
"rangeSelectionKey", and modifiers parameter to eventSender.mouseDown()
and eventSender.mouseUp().
This change is similar to r53498 for Mac.

  • DumpRenderTree/win/EventSender.cpp: (buildModifierFlags): New function to set MK_CONTROL or MK_SHIFT to WPARAM. (mouseDownCallback): Call buidlModifiersFlags(). (mouseUpCallback): ditto. (keyDownCallback): Add support for "addSelectionkey" and "rangeSelectionKey".
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r53878 r53889  
     12010-01-26  Kent Tamura  <tkent@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [Win] Add modifiers parameter support to Windows DumpRenderTree
     6        https://bugs.webkit.org/show_bug.cgi?id=34068
     7
     8        Remove listbox-deselect-scroll.html and listbox-selectio-2.html
     9        from Skipped. We improved their portability and Windows DRT now
     10        havs modifiers parameter of eventSender.mouseDown() and
     11        eventSender.mouseUp().
     12
     13        * platform/win/Skipped:
     14
    1152010-01-26  Adele Peterson  <adele@apple.com>
    216
  • trunk/LayoutTests/platform/win/Skipped

    r53791 r53889  
    450450fast/forms/hidden-listbox.html
    451451fast/forms/legend-access-key.html
    452 fast/forms/listbox-deselect-scroll.html
    453452fast/forms/listbox-hit-test-zoomed.html
    454453fast/forms/listbox-scrollbar-incremental-load.html
    455 fast/forms/listbox-selection-2.html
    456454fast/forms/listbox-width-change.html
    457455fast/forms/option-strip-whitespace.html
  • trunk/WebKitTools/ChangeLog

    r53887 r53889  
     12010-01-26  Kent Tamura  <tkent@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [Win] Add modifiers parameter support to Windows DumpRenderTree
     6        https://bugs.webkit.org/show_bug.cgi?id=34068
     7
     8        Add support for functional name modifiers; "addSelectionKey" and
     9        "rangeSelectionKey", and modifiers parameter to eventSender.mouseDown()
     10        and eventSender.mouseUp().
     11        This change is similar to r53498 for Mac.
     12       
     13        * DumpRenderTree/win/EventSender.cpp:
     14        (buildModifierFlags): New function to set MK_CONTROL or MK_SHIFT to WPARAM.
     15        (mouseDownCallback): Call buidlModifiersFlags().
     16        (mouseUpCallback): ditto.
     17        (keyDownCallback): Add support for "addSelectionkey" and "rangeSelectionKey".
     18
    1192010-01-26  Chris Jerdonek  <cjerdonek@webkit.org>
    220
  • trunk/WebKitTools/DumpRenderTree/win/EventSender.cpp

    r49336 r53889  
    145145}
    146146
     147static WPARAM buildModifierFlags(JSContextRef context, const JSValueRef modifiers)
     148{
     149    JSObjectRef modifiersArray = JSValueToObject(context, modifiers, 0);
     150    if (!modifiersArray)
     151        return 0;
     152
     153    WPARAM flags = 0;
     154    int modifiersCount = JSValueToNumber(context, JSObjectGetProperty(context, modifiersArray, JSStringCreateWithUTF8CString("length"), 0), 0);
     155    for (int i = 0; i < modifiersCount; ++i) {
     156        JSValueRef value = JSObjectGetPropertyAtIndex(context, modifiersArray, i, 0);
     157        JSStringRef string = JSValueToStringCopy(context, value, 0);
     158        if (JSStringIsEqualToUTF8CString(string, "ctrlKey")
     159            || JSStringIsEqualToUTF8CString(string, "addSelectionKey"))
     160            flags |= MK_CONTROL;
     161        else if (JSStringIsEqualToUTF8CString(string, "shiftKey")
     162                 || JSStringIsEqualToUTF8CString(string, "rangeSelectionKey"))
     163            flags |= MK_SHIFT;
     164        // No way to specifiy altKey in a MSG.
     165
     166        JSStringRelease(string);
     167    }
     168    return flags;
     169}
     170
    147171static JSValueRef mouseDownCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
    148172{
     
    153177    down = true;
    154178    int mouseType = WM_LBUTTONDOWN;
    155     if (argumentCount == 1) {
     179    if (argumentCount >= 1) {
    156180        int mouseNumber = JSValueToNumber(context, arguments[0], exception);
    157181        switch (mouseNumber) {
     
    174198        }
    175199    }
     200
     201    WPARAM wparam = 0;
     202    if (argumentCount >= 2)
     203        wparam |= buildModifierFlags(context, arguments[1]);
    176204       
    177     MSG msg = makeMsg(webViewWindow, mouseType, 0, MAKELPARAM(lastMousePosition.x, lastMousePosition.y));
     205    MSG msg = makeMsg(webViewWindow, mouseType, wparam, MAKELPARAM(lastMousePosition.x, lastMousePosition.y));
    178206    if (!msgQueue[endOfQueue].delay)
    179207        dispatchMessage(&msg);
     
    235263{
    236264    int mouseType = WM_LBUTTONUP;
    237     if (argumentCount == 1) {
     265    if (argumentCount >= 1) {
    238266        int mouseNumber = JSValueToNumber(context, arguments[0], exception);
    239267        switch (mouseNumber) {
     
    257285    }
    258286
    259     MSG msg = makeMsg(webViewWindow, mouseType, 0, MAKELPARAM(lastMousePosition.x, lastMousePosition.y));
     287    WPARAM wparam = 0;
     288    if (argumentCount >= 2)
     289        wparam |= buildModifierFlags(context, arguments[1]);
     290
     291    MSG msg = makeMsg(webViewWindow, mouseType, wparam, MAKELPARAM(lastMousePosition.x, lastMousePosition.y));
    260292
    261293    if ((dragMode && !replayingSavedEvents) || msgQueue[endOfQueue].delay) {
     
    463495                    JSValueRef value = JSObjectGetPropertyAtIndex(context, modifiersArray, i, 0);
    464496                    JSStringRef string = JSValueToStringCopy(context, value, 0);
    465                     if (JSStringIsEqualToUTF8CString(string, "ctrlKey"))
     497                    if (JSStringIsEqualToUTF8CString(string, "ctrlKey") || JSStringIsEqualToUTF8CString(string, "addSelectionKey"))
    466498                        newKeyState[VK_CONTROL] = 0x80;
    467                     else if (JSStringIsEqualToUTF8CString(string, "shiftKey"))
     499                    else if (JSStringIsEqualToUTF8CString(string, "shiftKey") || JSStringIsEqualToUTF8CString(string, "rangeSelectionKey"))
    468500                        newKeyState[VK_SHIFT] = 0x80;
    469501                    else if (JSStringIsEqualToUTF8CString(string, "altKey"))
Note: See TracChangeset for help on using the changeset viewer.