<!DOCTYPE html> <html class=reftest-wait> <title>View transitions: exit transition with layout objects that don't have a node</title> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <link rel="author" href="mailto:khushalsagar@chromium.org"> <link rel="match" href="exit-transition-with-anonymous-layout-object-ref.html"> <script src="/common/reftest-wait.js"></script> <style> body { width: 100vw; height: 100vh; } #target { width: 100px; height: 100px; background: blue; view-transition-name: target; } #hidden { width: 10px; height: 10px; background: grey; view-transition-name: hidden; } fieldset { width: 100px; height: 100px; background: lightgreen; overflow: clip; } html::view-transition { background: pink; } html::view-transition-group(root) { visibility: hidden; } html::view-transition-group(hidden) { animation-duration: 300s; } html::view-transition-image-pair(hidden) { animation: unset; opacity: 0; } html::view-transition-old(target) { animation: unset; opacity: 1; } </style> <div id="target"></div> <fieldset id="anonymous">hi</fieldset> <div id=hidden class=hidden></div> <script> failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { let t = document.startViewTransition(() => { target.style.viewTransitionName = "none"; }); await t.ready; anonymous.style.position = "relative"; requestAnimationFrame(() => requestAnimationFrame(() => requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)) )); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); </script>