diff options
Diffstat (limited to 'testing/web-platform/tests/dom/nodes/moveBefore/tentative/css-transition-cross-shadow.html')
-rw-r--r-- | testing/web-platform/tests/dom/nodes/moveBefore/tentative/css-transition-cross-shadow.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/nodes/moveBefore/tentative/css-transition-cross-shadow.html b/testing/web-platform/tests/dom/nodes/moveBefore/tentative/css-transition-cross-shadow.html new file mode 100644 index 0000000000..145f40ba50 --- /dev/null +++ b/testing/web-platform/tests/dom/nodes/moveBefore/tentative/css-transition-cross-shadow.html @@ -0,0 +1,64 @@ +<!DOCTYPE html> +<title>Node.moveBefore should not preserve CSS transition state when crossing shadow boundaries</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<body> + <section id="old-parent"> + <div id="item"></div> + </section> + <div id="shadow-container"> + <template shadowrootmode="open"> + <style> + #item { + width: 100px; + height: 100px; + background: green; + transition: left 10s; + position: absolute; + left: 0; + } + + section { + position: relative; + } + + body { + margin-left: 0; + } + </style> + <section id="new-parent"> + </section> + </template> + </div> + <style> + #item { + width: 100px; + height: 100px; + background: green; + transition: left 10s; + position: absolute; + left: 0; + } + + section { + position: relative; + } + + body { + margin-left: 0; + } + </style> + <script> + promise_test(async t => { + const item = document.querySelector("#item"); + assert_equals(item.getBoundingClientRect().x, 0); + item.style.left = "400px"; + await new Promise(resolve => item.addEventListener("transitionstart", resolve)); + const shadowContainer = document.querySelector("#shadow-container"); + shadowContainer.shadowRoot.querySelector("#new-parent").moveBefore(item, null); + await new Promise(resolve => requestAnimationFrame(() => resolve())); + assert_greater_than(item.getBoundingClientRect().x, 399); + }, "Moving an element with a transition across shadow boundaries should reset the transition"); + </script> +</body> |