| <!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> |