diff options
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.js | 10 |
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) |