[chromium] Keydown event for 'shift+alt' returns win keycode instead of 'alt'
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2013 23:27:11 +0000 (23:27 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2013 23:27:11 +0000 (23:27 +0000)
https://bugs.webkit.org/show_bug.cgi?id=111112

Patch by Chandra Shekar Vallala <brk376@motorola.com> on 2013-03-08
Reviewed by Tony Chang.

.:

Return windows keycode of Alt incase of GDK_META_L, GDK_META_R.

Try press Shift then alt key. The test passes if the shiftKey, altKey values
of JSKeyEvent are true and keycode/which is 18.

* ManualTests/shift-alt-key-event.html: Added.

Source/WebCore:

Return windows keycode of Alt incase of GDK_META_L, GDK_META_R. This matches
the firefox behaviour in linux platform.

Added Manual Test : ManualTests/shift-alt-key-event.html
Try press Shift then alt key. The test passes if the shiftKey, altKey values
of JSKeyEvent are true and keycode/which is 18.

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
ManualTests/shift-alt-key-event.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/platform/chromium/KeyCodeConversionGtk.cpp

index 339e78f..ca39fab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2013-03-08  Chandra Shekar Vallala  <brk376@motorola.com>
+
+        [chromium] Keydown event for 'shift+alt' returns win keycode instead of 'alt'
+        https://bugs.webkit.org/show_bug.cgi?id=111112
+
+        Reviewed by Tony Chang.
+
+        Return windows keycode of Alt incase of GDK_META_L, GDK_META_R.
+
+        Try press Shift then alt key. The test passes if the shiftKey, altKey values
+        of JSKeyEvent are true and keycode/which is 18.
+
+        * ManualTests/shift-alt-key-event.html: Added.
+
 2013-03-08  Zan Dobersek  <zdobersek@igalia.com>
 
         [Autotools] Remove definitions of unnecessary Automake conditionals
diff --git a/ManualTests/shift-alt-key-event.html b/ManualTests/shift-alt-key-event.html
new file mode 100644 (file)
index 0000000..3dafa47
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+window.onload = function() {
+    document.getElementById("myinput").focus();
+};
+
+function keyDown(event)
+{
+    var output = document.getElementById("console");
+    var text = "shiftKey = "+event.shiftKey+ ", altKey = "+event.altKey+ ", which = "+  event.which;
+
+    if (event.shiftKey == true && event.altKey == true && event.which == 18) {
+        text = text + "<br>TEST : <b>PASSED</b>"
+    } else {
+        text = text + "<br>TEST : <b>FAILED</b>"
+    }
+    output.innerHTML = text;
+}
+
+</script>
+</head>
+<body>
+<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=111112">bug 111112</a>:
+Shift + Alt key press</p>
+
+<p>Try press Shift then alt key.
+The test passes if the shiftKey, altKey values of JsKeyEvent are true and keycode/which is 18.<p>
+
+<input type="text" id="myinput" onkeydown="keyDown(event)">
+<br><br>
+<div id="console"></div>
+</body>
+</html>
index 4e565e7..2c8fbbc 100644 (file)
@@ -1,3 +1,20 @@
+2013-03-08  Chandra Shekar Vallala  <brk376@motorola.com>
+
+        [chromium] Keydown event for 'shift+alt' returns win keycode instead of 'alt'
+        https://bugs.webkit.org/show_bug.cgi?id=111112
+
+        Reviewed by Tony Chang.
+
+        Return windows keycode of Alt incase of GDK_META_L, GDK_META_R. This matches
+        the firefox behaviour in linux platform.
+
+        Added Manual Test : ManualTests/shift-alt-key-event.html
+        Try press Shift then alt key. The test passes if the shiftKey, altKey values
+        of JSKeyEvent are true and keycode/which is 18.
+
+        * platform/chromium/KeyCodeConversionGtk.cpp:
+        (WebCore::windowsKeyCodeForKeyEvent):
+
 2013-03-08  Mike West  <mkwst@chromium.org>
 
         CSP: 'eval()' is blocked in report-only mode.
index 0862b76..4dcf92b 100644 (file)
@@ -118,8 +118,10 @@ int windowsKeyCodeForKeyEvent(unsigned keycode)
     case GDK_Menu:
         return VKEY_APPS;  // (5D) Applications key (Natural keyboard)
     case GDK_Alt_L:
+    case GDK_Meta_L:
         return VKEY_LMENU; // (A4) Left ALT key
     case GDK_Alt_R:
+    case GDK_Meta_R:
     case GDK_ISO_Level3_Shift:
         return VKEY_RMENU; // (A5) Right ALT key
 
@@ -285,10 +287,8 @@ int windowsKeyCodeForKeyEvent(unsigned keycode)
     case GDK_z:
     case GDK_Z:
         return VKEY_Z; //  (5A) Z key case 'z': case 'Z': return 0x5A;
-    case GDK_Meta_L:
     case GDK_Super_L:
         return VKEY_LWIN; // (5B) Left Windows key (Microsoft Natural keyboard)
-    case GDK_Meta_R:
     case GDK_Super_R:
         return VKEY_RWIN; // (5C) Right Windows key (Natural keyboard)
         // VKEY_SLEEP (5F) Computer Sleep key