diff options
Diffstat (limited to 'testing/web-platform/tests/selection/shadow-dom/cross-shadow-boundary-6.html')
-rw-r--r-- | testing/web-platform/tests/selection/shadow-dom/cross-shadow-boundary-6.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/shadow-dom/cross-shadow-boundary-6.html b/testing/web-platform/tests/selection/shadow-dom/cross-shadow-boundary-6.html new file mode 100644 index 0000000000..cc264a6668 --- /dev/null +++ b/testing/web-platform/tests/selection/shadow-dom/cross-shadow-boundary-6.html @@ -0,0 +1,44 @@ +<!doctype html> +<html class="reftest-wait"> +<head> +<link rel=match href="cross-shadow-boundary-6-ref.html"> +</head> +<span id="span">Start +<div> + <template shadowrootmode="open"> + <span id="inner1">inner1</p> + <span id="inner2">inner2</p> + </template> +</div> +</span> +<script> + const start = document.getElementById("span").firstChild; + const end = document.querySelector('div').shadowRoot.getElementById("inner2"); + + async function waitForRAFs() { + return new Promise(resolve => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + resolve(); + }); + }); + }); + }); + } + + async function runTest() { + window.getSelection().setBaseAndExtent(start, 3, end.firstChild, 3); + await waitForRAFs(); + + window.getSelection().removeAllRanges(); + await waitForRAFs(); + + window.getSelection().setBaseAndExtent(start, 3, end.firstChild, 3); + await waitForRAFs(); + document.documentElement.className = ""; + } + + runTest(); +</script> +</html> |