[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:29:42 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 2ec0f51b2a1b1bc903ac2f71c90d48bea31f86a5
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 27 19:01:38 2010 +0000

    2010-01-27  Kinuko Yasuda  <kinuko at 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 at 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 at 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):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53942 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 109c344..276a46a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-27  Kinuko Yasuda  <kinuko at 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  Tony Chang  <tony at chromium.org>
 
         Reviewed by Eric Seidel.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 0babb4c..1ef4fd9 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -2261,7 +2261,6 @@ fast/events/event-listener-on-link.html
 fast/events/event-sender-mouse-moved.html
 fast/events/focusingUnloadedFrame.html
 fast/events/keydown-1.html
-fast/events/keydown-numpad-keys.html
 fast/events/label-focus.html
 fast/events/mouseout-dead-node.html
 fast/events/onload-re-entry.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 53dfd50..09b7809 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-27  Kinuko Yasuda  <kinuko at 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  Pavel Feldman  <pfeldman at chromium.org>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/platform/chromium/KeyCodeConversionGtk.cpp b/WebCore/platform/chromium/KeyCodeConversionGtk.cpp
index e3d5f61..a709f3e 100644
--- a/WebCore/platform/chromium/KeyCodeConversionGtk.cpp
+++ b/WebCore/platform/chromium/KeyCodeConversionGtk.cpp
@@ -72,6 +72,23 @@ int windowsKeyCodeForKeyEvent(unsigned keycode)
     case GDK_KP_Divide:
         return VKEY_DIVIDE; // (6F) Divide key
 
+    case GDK_KP_Page_Up:
+        return VKEY_PRIOR; // (21) PAGE UP key
+    case GDK_KP_Page_Down:
+        return VKEY_NEXT; // (22) PAGE DOWN key
+    case GDK_KP_End:
+        return VKEY_END; // (23) END key
+    case GDK_KP_Home:
+        return VKEY_HOME; // (24) HOME key
+    case GDK_KP_Left:
+        return VKEY_LEFT; // (25) LEFT ARROW key
+    case GDK_KP_Up:
+        return VKEY_UP; // (26) UP ARROW key
+    case GDK_KP_Right:
+        return VKEY_RIGHT; // (27) RIGHT ARROW key
+    case GDK_KP_Down:
+        return VKEY_DOWN; // (28) DOWN ARROW key
+
     case GDK_BackSpace:
         return VKEY_BACK; // (08) BACKSPACE key
     case GDK_ISO_Left_Tab:
diff --git a/WebCore/platform/gtk/KeyEventGtk.cpp b/WebCore/platform/gtk/KeyEventGtk.cpp
index 11ea956..e00ea43 100644
--- a/WebCore/platform/gtk/KeyEventGtk.cpp
+++ b/WebCore/platform/gtk/KeyEventGtk.cpp
@@ -181,6 +181,23 @@ static int windowsKeyCodeForKeyEvent(unsigned int keycode)
         case GDK_KP_Divide:
             return VK_DIVIDE; // (6F) Divide key
 
+        case GDK_KP_Page_Up:
+            return VK_PRIOR; // (21) PAGE UP key
+        case GDK_KP_Page_Down:
+            return VK_NEXT; // (22) PAGE DOWN key
+        case GDK_KP_End:
+            return VK_END; // (23) END key
+        case GDK_KP_Home:
+            return VK_HOME; // (24) HOME key
+        case GDK_KP_Left:
+            return VK_LEFT; // (25) LEFT ARROW key
+        case GDK_KP_Up:
+            return VK_UP; // (26) UP ARROW key
+        case GDK_KP_Right:
+            return VK_RIGHT; // (27) RIGHT ARROW key
+        case GDK_KP_Down:
+            return VK_DOWN; // (28) DOWN ARROW key
+
         case GDK_BackSpace:
             return VK_BACK; // (08) BACKSPACE key
         case GDK_ISO_Left_Tab:
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 58d53d8..bec9311 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,16 @@
+2010-01-27  Kinuko Yasuda  <kinuko at 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):
+
 2010-01-27  Kenneth Rohde Christiansen  <kenneth at webkit.org>
 
         Rubberstamped by Simon Hausmann.
diff --git a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
index 3b7311b..458e0ba 100644
--- a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
@@ -76,6 +76,14 @@ static unsigned startOfQueue;
 
 static const float zoomMultiplierRatio = 1.2f;
 
+// Key event location code defined in DOM Level 3.
+enum KeyLocationCode {
+    DOM_KEY_LOCATION_STANDARD      = 0x00,
+    DOM_KEY_LOCATION_LEFT          = 0x01,
+    DOM_KEY_LOCATION_RIGHT         = 0x02,
+    DOM_KEY_LOCATION_NUMPAD        = 0x03
+};
+
 static JSValueRef getDragModeCallback(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception)
 {
     return JSValueMakeBoolean(context, dragMode);
@@ -449,66 +457,93 @@ static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JS
         }
     }
 
+    // handle location argument.
+    int location = DOM_KEY_LOCATION_STANDARD;
+    if (argumentCount > 2)
+        location = (int)JSValueToNumber(context, arguments[2], exception);
+
     JSStringRef character = JSValueToStringCopy(context, arguments[0], exception);
     g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context));
-    int gdkKeySym;
-    if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
-        gdkKeySym = GDK_Left;
-    else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
-        gdkKeySym = GDK_Right;
-    else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
-        gdkKeySym = GDK_Up;
-    else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
-        gdkKeySym = GDK_Down;
-    else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
-        gdkKeySym = GDK_Page_Up;
-    else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
-        gdkKeySym = GDK_Page_Down;
-    else if (JSStringIsEqualToUTF8CString(character, "home"))
-        gdkKeySym = GDK_Home;
-    else if (JSStringIsEqualToUTF8CString(character, "end"))
-        gdkKeySym = GDK_End;
-    else if (JSStringIsEqualToUTF8CString(character, "delete"))
-        gdkKeySym = GDK_BackSpace;
-    else if (JSStringIsEqualToUTF8CString(character, "F1"))
-        gdkKeySym = GDK_F1;
-    else if (JSStringIsEqualToUTF8CString(character, "F2"))
-        gdkKeySym = GDK_F2;
-    else if (JSStringIsEqualToUTF8CString(character, "F3"))
-        gdkKeySym = GDK_F3;
-    else if (JSStringIsEqualToUTF8CString(character, "F4"))
-        gdkKeySym = GDK_F4;
-    else if (JSStringIsEqualToUTF8CString(character, "F5"))
-        gdkKeySym = GDK_F5;
-    else if (JSStringIsEqualToUTF8CString(character, "F6"))
-        gdkKeySym = GDK_F6;
-    else if (JSStringIsEqualToUTF8CString(character, "F7"))
-        gdkKeySym = GDK_F7;
-    else if (JSStringIsEqualToUTF8CString(character, "F8"))
-        gdkKeySym = GDK_F8;
-    else if (JSStringIsEqualToUTF8CString(character, "F9"))
-        gdkKeySym = GDK_F9;
-    else if (JSStringIsEqualToUTF8CString(character, "F10"))
-        gdkKeySym = GDK_F10;
-    else if (JSStringIsEqualToUTF8CString(character, "F11"))
-        gdkKeySym = GDK_F11;
-    else if (JSStringIsEqualToUTF8CString(character, "F12"))
-        gdkKeySym = GDK_F12;
-    else {
-        int charCode = JSStringGetCharactersPtr(character)[0];
-        if (charCode == '\n' || charCode == '\r')
-            gdkKeySym = GDK_Return;
-        else if (charCode == '\t')
-            gdkKeySym = GDK_Tab;
-        else if (charCode == '\x8')
+    int gdkKeySym = GDK_VoidSymbol;
+    if (location == DOM_KEY_LOCATION_NUMPAD) {
+        if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
+            gdkKeySym = GDK_KP_Left;
+        else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
+            gdkKeySym = GDK_KP_Right;
+        else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
+            gdkKeySym = GDK_KP_Up;
+        else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
+            gdkKeySym = GDK_KP_Down;
+        else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
+            gdkKeySym = GDK_KP_Page_Up;
+        else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
+            gdkKeySym = GDK_KP_Page_Down;
+        else if (JSStringIsEqualToUTF8CString(character, "home"))
+            gdkKeySym = GDK_KP_Home;
+        else if (JSStringIsEqualToUTF8CString(character, "end"))
+            gdkKeySym = GDK_KP_End;
+        else
+            // Assume we only get arrow/pgUp/pgDn/home/end keys with
+            // location=NUMPAD for now.
+            g_assert_not_reached();
+    } else {
+        if (JSStringIsEqualToUTF8CString(character, "leftArrow"))
+            gdkKeySym = GDK_Left;
+        else if (JSStringIsEqualToUTF8CString(character, "rightArrow"))
+            gdkKeySym = GDK_Right;
+        else if (JSStringIsEqualToUTF8CString(character, "upArrow"))
+            gdkKeySym = GDK_Up;
+        else if (JSStringIsEqualToUTF8CString(character, "downArrow"))
+            gdkKeySym = GDK_Down;
+        else if (JSStringIsEqualToUTF8CString(character, "pageUp"))
+            gdkKeySym = GDK_Page_Up;
+        else if (JSStringIsEqualToUTF8CString(character, "pageDown"))
+            gdkKeySym = GDK_Page_Down;
+        else if (JSStringIsEqualToUTF8CString(character, "home"))
+            gdkKeySym = GDK_Home;
+        else if (JSStringIsEqualToUTF8CString(character, "end"))
+            gdkKeySym = GDK_End;
+        else if (JSStringIsEqualToUTF8CString(character, "delete"))
             gdkKeySym = GDK_BackSpace;
+        else if (JSStringIsEqualToUTF8CString(character, "F1"))
+            gdkKeySym = GDK_F1;
+        else if (JSStringIsEqualToUTF8CString(character, "F2"))
+            gdkKeySym = GDK_F2;
+        else if (JSStringIsEqualToUTF8CString(character, "F3"))
+            gdkKeySym = GDK_F3;
+        else if (JSStringIsEqualToUTF8CString(character, "F4"))
+            gdkKeySym = GDK_F4;
+        else if (JSStringIsEqualToUTF8CString(character, "F5"))
+            gdkKeySym = GDK_F5;
+        else if (JSStringIsEqualToUTF8CString(character, "F6"))
+            gdkKeySym = GDK_F6;
+        else if (JSStringIsEqualToUTF8CString(character, "F7"))
+            gdkKeySym = GDK_F7;
+        else if (JSStringIsEqualToUTF8CString(character, "F8"))
+            gdkKeySym = GDK_F8;
+        else if (JSStringIsEqualToUTF8CString(character, "F9"))
+            gdkKeySym = GDK_F9;
+        else if (JSStringIsEqualToUTF8CString(character, "F10"))
+            gdkKeySym = GDK_F10;
+        else if (JSStringIsEqualToUTF8CString(character, "F11"))
+            gdkKeySym = GDK_F11;
+        else if (JSStringIsEqualToUTF8CString(character, "F12"))
+            gdkKeySym = GDK_F12;
         else {
-            gdkKeySym = gdk_unicode_to_keyval(charCode);
-            if (WTF::isASCIIUpper(charCode))
-                state |= GDK_SHIFT_MASK;
+            int charCode = JSStringGetCharactersPtr(character)[0];
+            if (charCode == '\n' || charCode == '\r')
+                gdkKeySym = GDK_Return;
+            else if (charCode == '\t')
+                gdkKeySym = GDK_Tab;
+            else if (charCode == '\x8')
+                gdkKeySym = GDK_BackSpace;
+            else {
+                gdkKeySym = gdk_unicode_to_keyval(charCode);
+                if (WTF::isASCIIUpper(charCode))
+                    state |= GDK_SHIFT_MASK;
+            }
         }
     }
-
     JSStringRelease(character);
 
     WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list