summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/editing/include/editor-test-utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/editing/include/editor-test-utils.js')
-rw-r--r--testing/web-platform/tests/editing/include/editor-test-utils.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/testing/web-platform/tests/editing/include/editor-test-utils.js b/testing/web-platform/tests/editing/include/editor-test-utils.js
index 24527d4a79..d0d50d22a6 100644
--- a/testing/web-platform/tests/editing/include/editor-test-utils.js
+++ b/testing/web-platform/tests/editing/include/editor-test-utils.js
@@ -32,7 +32,15 @@ class EditorTestUtils {
sendKey(key, modifier) {
if (!modifier) {
- return this.window.test_driver.send_keys(this.editingHost, key)
+ // send_keys requires element in the light DOM.
+ const elementInLightDOM = (e => {
+ const doc = e.ownerDocument;
+ while (e.getRootNode({composed:false}) !== doc) {
+ e = e.getRootNode({composed:false}).host;
+ }
+ return e;
+ })(this.editingHost);
+ return this.window.test_driver.send_keys(elementInLightDOM, key)
.catch(() => {
return new this.window.test_driver.Actions()
.keyDown(key)