Changeset 53942 in webkit


Ignore:
Timestamp:
Jan 27, 2010 11:01:38 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Eric Seidel.

Remove fast/events/keydown-numpad-keys.html from gtk's Skipped list.
https://bugs.webkit.org/show_bug.cgi?id=28247

  • platform/gtk/Skipped:

2010-01-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Eric Seidel.

Add key event mappings for numpad keys for Gtk and Chromium/Gtk.
http://bugs.webkit.org/show_bug.cgi?id=28247

Test: fast/events/keydown-numpad-keys.html

  • platform/chromium/KeyCodeConversionGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):
  • platform/gtk/KeyEventGtk.cpp: (WebCore::windowsKeyCodeForKeyEvent):

2010-01-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Eric Seidel.

Correctly handle the KeyLocation argument that has been introduced
recently to test location-dependent key events in EventSender.keyDown.
http://bugs.webkit.org/show_bug.cgi?id=28247

Test: fast/events/keydown-numpad-keys.html

  • DumpRenderTree/gtk/EventSender.cpp: (keyDownCallback):
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r53927 r53942  
     12010-01-27  Kinuko Yasuda  <kinuko@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Remove fast/events/keydown-numpad-keys.html from gtk's Skipped list.
     6        https://bugs.webkit.org/show_bug.cgi?id=28247
     7
     8        * platform/gtk/Skipped:
     9
    1102010-01-27  Tony Chang  <tony@chromium.org>
    211
  • trunk/LayoutTests/platform/gtk/Skipped

    r53909 r53942  
    22622262fast/events/focusingUnloadedFrame.html
    22632263fast/events/keydown-1.html
    2264 fast/events/keydown-numpad-keys.html
    22652264fast/events/label-focus.html
    22662265fast/events/mouseout-dead-node.html
  • trunk/WebCore/ChangeLog

    r53941 r53942  
     12010-01-27  Kinuko Yasuda  <kinuko@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Add key event mappings for numpad keys for Gtk and Chromium/Gtk.
     6        http://bugs.webkit.org/show_bug.cgi?id=28247
     7
     8        Test: fast/events/keydown-numpad-keys.html
     9
     10        * platform/chromium/KeyCodeConversionGtk.cpp:
     11        (WebCore::windowsKeyCodeForKeyEvent):
     12        * platform/gtk/KeyEventGtk.cpp:
     13        (WebCore::windowsKeyCodeForKeyEvent):
     14
    1152010-01-27  Pavel Feldman  <pfeldman@chromium.org>
    216
  • trunk/WebCore/platform/chromium/KeyCodeConversionGtk.cpp

    r50051 r53942  
    7272    case GDK_KP_Divide:
    7373        return VKEY_DIVIDE; // (6F) Divide key
     74
     75    case GDK_KP_Page_Up:
     76        return VKEY_PRIOR; // (21) PAGE UP key
     77    case GDK_KP_Page_Down:
     78        return VKEY_NEXT; // (22) PAGE DOWN key
     79    case GDK_KP_End:
     80        return VKEY_END; // (23) END key
     81    case GDK_KP_Home:
     82        return VKEY_HOME; // (24) HOME key
     83    case GDK_KP_Left:
     84        return VKEY_LEFT; // (25) LEFT ARROW key
     85    case GDK_KP_Up:
     86        return VKEY_UP; // (26) UP ARROW key
     87    case GDK_KP_Right:
     88        return VKEY_RIGHT; // (27) RIGHT ARROW key
     89    case GDK_KP_Down:
     90        return VKEY_DOWN; // (28) DOWN ARROW key
    7491
    7592    case GDK_BackSpace:
  • trunk/WebCore/platform/gtk/KeyEventGtk.cpp

    r50642 r53942  
    181181        case GDK_KP_Divide:
    182182            return VK_DIVIDE; // (6F) Divide key
     183
     184        case GDK_KP_Page_Up:
     185            return VK_PRIOR; // (21) PAGE UP key
     186        case GDK_KP_Page_Down:
     187            return VK_NEXT; // (22) PAGE DOWN key
     188        case GDK_KP_End:
     189            return VK_END; // (23) END key
     190        case GDK_KP_Home:
     191            return VK_HOME; // (24) HOME key
     192        case GDK_KP_Left:
     193            return VK_LEFT; // (25) LEFT ARROW key
     194        case GDK_KP_Up:
     195            return VK_UP; // (26) UP ARROW key
     196        case GDK_KP_Right:
     197            return VK_RIGHT; // (27) RIGHT ARROW key
     198        case GDK_KP_Down:
     199            return VK_DOWN; // (28) DOWN ARROW key
    183200
    184201        case GDK_BackSpace:
  • trunk/WebKitTools/ChangeLog

    r53938 r53942  
     12010-01-27  Kinuko Yasuda  <kinuko@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Correctly handle the KeyLocation argument that has been introduced
     6        recently to test location-dependent key events in EventSender.keyDown.
     7        http://bugs.webkit.org/show_bug.cgi?id=28247
     8
     9        Test: fast/events/keydown-numpad-keys.html
     10
     11        * DumpRenderTree/gtk/EventSender.cpp:
     12        (keyDownCallback):
     13
    1142010-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
    215
  • trunk/WebKitTools/DumpRenderTree/gtk/EventSender.cpp

    r52419 r53942  
    7777static const float zoomMultiplierRatio = 1.2f;
    7878
     79// Key event location code defined in DOM Level 3.
     80enum KeyLocationCode {
     81    DOM_KEY_LOCATION_STANDARD      = 0x00,
     82    DOM_KEY_LOCATION_LEFT          = 0x01,
     83    DOM_KEY_LOCATION_RIGHT         = 0x02,
     84    DOM_KEY_LOCATION_NUMPAD        = 0x03
     85};
     86
    7987static JSValueRef getDragModeCallback(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception)
    8088{
     
    450458    }
    451459
     460    // handle location argument.
     461    int location = DOM_KEY_LOCATION_STANDARD;
     462    if (argumentCount > 2)
     463        location = (int)JSValueToNumber(context, arguments[2], exception);
     464
    452465    JSStringRef character = JSValueToStringCopy(context, arguments[0], exception);
    453466    g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context));
    454     int gdkKeySym;
    455     if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
    456         gdkKeySym = GDK_Left;
    457     else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
    458         gdkKeySym = GDK_Right;
    459     else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
    460         gdkKeySym = GDK_Up;
    461     else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
    462         gdkKeySym = GDK_Down;
    463     else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
    464         gdkKeySym = GDK_Page_Up;
    465     else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
    466         gdkKeySym = GDK_Page_Down;
    467     else if (JSStringIsEqualToUTF8CString(character, "home"))
    468         gdkKeySym = GDK_Home;
    469     else if (JSStringIsEqualToUTF8CString(character, "end"))
    470         gdkKeySym = GDK_End;
    471     else if (JSStringIsEqualToUTF8CString(character, "delete"))
    472         gdkKeySym = GDK_BackSpace;
    473     else if (JSStringIsEqualToUTF8CString(character, "F1"))
    474         gdkKeySym = GDK_F1;
    475     else if (JSStringIsEqualToUTF8CString(character, "F2"))
    476         gdkKeySym = GDK_F2;
    477     else if (JSStringIsEqualToUTF8CString(character, "F3"))
    478         gdkKeySym = GDK_F3;
    479     else if (JSStringIsEqualToUTF8CString(character, "F4"))
    480         gdkKeySym = GDK_F4;
    481     else if (JSStringIsEqualToUTF8CString(character, "F5"))
    482         gdkKeySym = GDK_F5;
    483     else if (JSStringIsEqualToUTF8CString(character, "F6"))
    484         gdkKeySym = GDK_F6;
    485     else if (JSStringIsEqualToUTF8CString(character, "F7"))
    486         gdkKeySym = GDK_F7;
    487     else if (JSStringIsEqualToUTF8CString(character, "F8"))
    488         gdkKeySym = GDK_F8;
    489     else if (JSStringIsEqualToUTF8CString(character, "F9"))
    490         gdkKeySym = GDK_F9;
    491     else if (JSStringIsEqualToUTF8CString(character, "F10"))
    492         gdkKeySym = GDK_F10;
    493     else if (JSStringIsEqualToUTF8CString(character, "F11"))
    494         gdkKeySym = GDK_F11;
    495     else if (JSStringIsEqualToUTF8CString(character, "F12"))
    496         gdkKeySym = GDK_F12;
    497     else {
    498         int charCode = JSStringGetCharactersPtr(character)[0];
    499         if (charCode == '\n' || charCode == '\r')
    500             gdkKeySym = GDK_Return;
    501         else if (charCode == '\t')
    502             gdkKeySym = GDK_Tab;
    503         else if (charCode == '\x8')
     467    int gdkKeySym = GDK_VoidSymbol;
     468    if (location == DOM_KEY_LOCATION_NUMPAD) {
     469        if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
     470            gdkKeySym = GDK_KP_Left;
     471        else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
     472            gdkKeySym = GDK_KP_Right;
     473        else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
     474            gdkKeySym = GDK_KP_Up;
     475        else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
     476            gdkKeySym = GDK_KP_Down;
     477        else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
     478            gdkKeySym = GDK_KP_Page_Up;
     479        else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
     480            gdkKeySym = GDK_KP_Page_Down;
     481        else if (JSStringIsEqualToUTF8CString(character, "home"))
     482            gdkKeySym = GDK_KP_Home;
     483        else if (JSStringIsEqualToUTF8CString(character, "end"))
     484            gdkKeySym = GDK_KP_End;
     485        else
     486            // Assume we only get arrow/pgUp/pgDn/home/end keys with
     487            // location=NUMPAD for now.
     488            g_assert_not_reached();
     489    } else {
     490        if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
     491            gdkKeySym = GDK_Left;
     492        else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
     493            gdkKeySym = GDK_Right;
     494        else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
     495            gdkKeySym = GDK_Up;
     496        else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
     497            gdkKeySym = GDK_Down;
     498        else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
     499            gdkKeySym = GDK_Page_Up;
     500        else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
     501            gdkKeySym = GDK_Page_Down;
     502        else if (JSStringIsEqualToUTF8CString(character, "home"))
     503            gdkKeySym = GDK_Home;
     504        else if (JSStringIsEqualToUTF8CString(character, "end"))
     505            gdkKeySym = GDK_End;
     506        else if (JSStringIsEqualToUTF8CString(character, "delete"))
    504507            gdkKeySym = GDK_BackSpace;
     508        else if (JSStringIsEqualToUTF8CString(character, "F1"))
     509            gdkKeySym = GDK_F1;
     510        else if (JSStringIsEqualToUTF8CString(character, "F2"))
     511            gdkKeySym = GDK_F2;
     512        else if (JSStringIsEqualToUTF8CString(character, "F3"))
     513            gdkKeySym = GDK_F3;
     514        else if (JSStringIsEqualToUTF8CString(character, "F4"))
     515            gdkKeySym = GDK_F4;
     516        else if (JSStringIsEqualToUTF8CString(character, "F5"))
     517            gdkKeySym = GDK_F5;
     518        else if (JSStringIsEqualToUTF8CString(character, "F6"))
     519            gdkKeySym = GDK_F6;
     520        else if (JSStringIsEqualToUTF8CString(character, "F7"))
     521            gdkKeySym = GDK_F7;
     522        else if (JSStringIsEqualToUTF8CString(character, "F8"))
     523            gdkKeySym = GDK_F8;
     524        else if (JSStringIsEqualToUTF8CString(character, "F9"))
     525            gdkKeySym = GDK_F9;
     526        else if (JSStringIsEqualToUTF8CString(character, "F10"))
     527            gdkKeySym = GDK_F10;
     528        else if (JSStringIsEqualToUTF8CString(character, "F11"))
     529            gdkKeySym = GDK_F11;
     530        else if (JSStringIsEqualToUTF8CString(character, "F12"))
     531            gdkKeySym = GDK_F12;
    505532        else {
    506             gdkKeySym = gdk_unicode_to_keyval(charCode);
    507             if (WTF::isASCIIUpper(charCode))
    508                 state |= GDK_SHIFT_MASK;
     533            int charCode = JSStringGetCharactersPtr(character)[0];
     534            if (charCode == '\n' || charCode == '\r')
     535                gdkKeySym = GDK_Return;
     536            else if (charCode == '\t')
     537                gdkKeySym = GDK_Tab;
     538            else if (charCode == '\x8')
     539                gdkKeySym = GDK_BackSpace;
     540            else {
     541                gdkKeySym = gdk_unicode_to_keyval(charCode);
     542                if (WTF::isASCIIUpper(charCode))
     543                    state |= GDK_SHIFT_MASK;
     544            }
    509545        }
    510546    }
    511 
    512547    JSStringRelease(character);
    513548
Note: See TracChangeset for help on using the changeset viewer.