summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/editing/crashtests/designMode-caret-change.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/editing/crashtests/designMode-caret-change.html')
-rw-r--r--testing/web-platform/tests/editing/crashtests/designMode-caret-change.html37
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/editing/crashtests/designMode-caret-change.html b/testing/web-platform/tests/editing/crashtests/designMode-caret-change.html
new file mode 100644
index 0000000000..be80afd4ab
--- /dev/null
+++ b/testing/web-platform/tests/editing/crashtests/designMode-caret-change.html
@@ -0,0 +1,37 @@
+<!doctype html>
+<html class="test-wait reftest-wait">
+<style>
+button {
+ background-repeat: no-repeat;
+}
+*:last-child {
+ opacity: 0;
+ animation: kf ease-in, steps(65, start) 0.92 paused;
+ border-radius: inherit
+}
+@keyframes kf {}
+</style>
+<script>
+let animationEnded = false;
+let selectionChanged = false;
+function maybeFinishTest() {
+ if (animationEnded && selectionChanged) {
+ requestAnimationFrame(() => requestAnimationFrame(() => {
+ document.documentElement.className = "";
+ }));
+ }
+}
+document.addEventListener("DOMContentLoaded", () => {
+ document.designMode = "on"
+ window.onanimationend = () => {
+ document.execCommand("insertHTML", false, "A")
+ animationEnded = true;
+ maybeFinishTest();
+ }
+ document.onselectionchange = () => {
+ document.execCommand("selectAll", false)
+ selectionChanged = true;
+ maybeFinishTest();
+ }
+})
+</script>