Title: [272572] trunk
Revision
272572
Author
[email protected]
Date
2021-02-09 02:34:26 -0800 (Tue, 09 Feb 2021)

Log Message

Allow sending modifier keys in test_driver.send_keys()
https://bugs.webkit.org/show_bug.cgi?id=221466

Reviewed by Carlos Garcia Campos.

LayoutTests/imported/w3c:

Created new test that checks that modifier keys can be sent by test_driver.send_keys()
and properly handled on "keydown" event.

* web-platform-tests/resources/testdriver-vendor.js: Add modifier keys' codes.
* web-platform-tests/uievents/keyboard/modifier-keys-expected.txt: Added.
* web-platform-tests/uievents/keyboard/modifier-keys.html: Added.

Tools:

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef): Add support for meta key.

LayoutTests:

Add specific -expected.txt file for Mac platform. Meta key is detected differently than in other platforms,
also event.ctrlKey and other are not being set from the test (they work fine when checking that manually).

* platform/ios/TestExpectations: Skip test as it's timing out in iOS.
* platform/mac/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (272571 => 272572)


--- trunk/LayoutTests/ChangeLog	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/LayoutTests/ChangeLog	2021-02-09 10:34:26 UTC (rev 272572)
@@ -1,3 +1,16 @@
+2021-02-09  Manuel Rego Casasnovas  <[email protected]>
+
+        Allow sending modifier keys in test_driver.send_keys()
+        https://bugs.webkit.org/show_bug.cgi?id=221466
+
+        Reviewed by Carlos Garcia Campos.
+
+        Add specific -expected.txt file for Mac platform. Meta key is detected differently than in other platforms,
+        also event.ctrlKey and other are not being set from the test (they work fine when checking that manually).
+
+        * platform/ios/TestExpectations: Skip test as it's timing out in iOS.
+        * platform/mac/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt: Added.
+
 2021-02-08  Rob Buis  <[email protected]>
 
         Make auto && <ratio> use content box-sizing

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (272571 => 272572)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-02-09 10:34:26 UTC (rev 272572)
@@ -1,3 +1,17 @@
+2021-02-09  Manuel Rego Casasnovas  <[email protected]>
+
+        Allow sending modifier keys in test_driver.send_keys()
+        https://bugs.webkit.org/show_bug.cgi?id=221466
+
+        Reviewed by Carlos Garcia Campos.
+
+        Created new test that checks that modifier keys can be sent by test_driver.send_keys()
+        and properly handled on "keydown" event.
+
+        * web-platform-tests/resources/testdriver-vendor.js: Add modifier keys' codes.
+        * web-platform-tests/uievents/keyboard/modifier-keys-expected.txt: Added.
+        * web-platform-tests/uievents/keyboard/modifier-keys.html: Added.
+
 2021-02-08  Imanol Fernandez  <[email protected]>
 
         WebXRSystem::RequestSession with 'viewer' as a required feature should succeed

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js (272571 => 272572)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js	2021-02-09 10:34:26 UTC (rev 272572)
@@ -164,6 +164,10 @@
         0xE013: 'upArrow',
         0xE014: 'rightArrow',
         0xE015: 'downArrow',
+        0xE008: 'leftShift',
+        0xE009: 'leftControl',
+        0xE00A: 'leftAlt',
+        0xE03D: 'leftMeta',
     };
 
     function convertSeleniumKeyCode(key)

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt (0 => 272572)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt	2021-02-09 10:34:26 UTC (rev 272572)
@@ -0,0 +1,7 @@
+Target
+
+PASS Check sending Shift key
+PASS Check sending Control key
+PASS Check sending Alt key
+PASS Check sending Meta key
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys.html (0 => 272572)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys.html	2021-02-09 10:34:26 UTC (rev 272572)
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<meta charset="utf-8" />
+<title>UI Events Test: Modifier keys</title>
+<link rel="author" title="Manuel Rego Casasnovas" href=""
+<link rel="help" href="" />
+<meta name="assert" content="This test checks that modifier keys are properly detected in 'keydown' event.">
+<script src=""
+<script src=""
+<script src=""
+<script src=""
+<div id="target" tabindex="0">Target</div>
+<script>
+  const keys = {
+    "Shift": '\uE008',
+    "Control": '\uE009',
+    "Alt": '\uE00A',
+    "Meta": '\uE03D',
+  };
+
+  target.focus();
+  for (const [key, code] of Object.entries(keys)) {
+    promise_test(() => {
+      return new Promise(resolve => {
+        target.addEventListener("keydown", resolve);
+        test_driver.send_keys(target, code);
+      }).then((event) => {
+        assert_equals(event.key, key);
+        assert_equals(event.shiftKey, key === "Shift");
+        assert_equals(event.ctrlKey, key === "Control");
+        assert_equals(event.altKey, key === "Alt");
+        assert_equals(event.metaKey, key === "Meta");
+      });
+    }, `Check sending ${key} key`);
+  }
+</script>

Modified: trunk/LayoutTests/platform/ios/TestExpectations (272571 => 272572)


--- trunk/LayoutTests/platform/ios/TestExpectations	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2021-02-09 10:34:26 UTC (rev 272572)
@@ -3491,4 +3491,6 @@
 fast/text/system-font-width-8.html [ ImageOnlyFailure ]
 fast/text/system-font-width-9.html [ ImageOnlyFailure ]
 
-webkit.org/b/221486 imported/w3c/web-platform-tests/shadow-dom/nested-slot-remove-crash.html [ Skip ]
\ No newline at end of file
+webkit.org/b/221486 imported/w3c/web-platform-tests/shadow-dom/nested-slot-remove-crash.html [ Skip ]
+
+webkit.org/b/221466 imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys.html [ Skip ]

Added: trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt (0 => 272572)


--- trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-expected.txt	2021-02-09 10:34:26 UTC (rev 272572)
@@ -0,0 +1,7 @@
+Target
+
+FAIL Check sending Shift key assert_equals: expected true but got false
+FAIL Check sending Control key assert_equals: expected true but got false
+FAIL Check sending Alt key assert_equals: expected true but got false
+FAIL Check sending Meta key assert_equals: expected "Meta" but got "leftMeta"
+

Modified: trunk/Tools/ChangeLog (272571 => 272572)


--- trunk/Tools/ChangeLog	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/Tools/ChangeLog	2021-02-09 10:34:26 UTC (rev 272572)
@@ -1,3 +1,13 @@
+2021-02-09  Manuel Rego Casasnovas  <[email protected]>
+
+        Allow sending modifier keys in test_driver.send_keys()
+        https://bugs.webkit.org/show_bug.cgi?id=221466
+
+        Reviewed by Carlos Garcia Campos.
+
+        * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
+        (WTR::getGDKKeySymForKeyRef): Add support for meta key.
+
 2021-02-08  Sam Sneddon  <[email protected]>
 
         Move layout_test_runner.Worker._update_test_input to LayoutTestRunner

Modified: trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp (272571 => 272572)


--- trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp	2021-02-09 10:30:52 UTC (rev 272571)
+++ trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp	2021-02-09 10:34:26 UTC (rev 272572)
@@ -157,6 +157,10 @@
         return GDK_KEY_Alt_L;
     if (WKStringIsEqualToUTF8CString(keyRef, "rightAlt"))
         return GDK_KEY_Alt_R;
+    if (WKStringIsEqualToUTF8CString(keyRef, "leftMeta"))
+        return GDK_KEY_Meta_L;
+    if (WKStringIsEqualToUTF8CString(keyRef, "rightMeta"))
+        return GDK_KEY_Meta_R;
     if (WKStringIsEqualToUTF8CString(keyRef, "leftArrow"))
         return GDK_KEY_Left;
     if (WKStringIsEqualToUTF8CString(keyRef, "rightArrow"))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to