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"))