diff options
Diffstat (limited to 'testing/web-platform/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html')
-rw-r--r-- | testing/web-platform/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html b/testing/web-platform/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html new file mode 100644 index 0000000000..bfca0402a7 --- /dev/null +++ b/testing/web-platform/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html @@ -0,0 +1,30 @@ +<!doctype html> +<html class="reftest-wait"> +<head> +<meta charset="utf-8"> +<script> +document.addEventListener("DOMContentLoaded", () => { + const shadowRoot = b.attachShadow({mode: "closed"}); + shadowRoot.textContent = "A"; + getSelection().collapse(shadowRoot.firstChild, 1); + + function moveCaretAndReplaceBodyWithAddress() { + getSelection().modify("move", "forward", "lineboundary"); + document.documentElement.replaceChild(a, document.body); + } + + requestAnimationFrame(() => { + requestAnimationFrame(moveCaretAndReplaceBodyWithAddress); + requestAnimationFrame(moveCaretAndReplaceBodyWithAddress); + requestAnimationFrame( + () => document.documentElement.removeAttribute("class") + ); + }); +}, {once: true}); +</script> +</head> +<body> +<address id="a"></address> +<div id="b"></div> +</body> +</html> |