root-to-shared-animation-end.html (1411B)
1 <!DOCTYPE html> 2 <html class=reftest-wait> 3 <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> 4 <link rel="author" href="mailto:vmpstr@chromium.org"> 5 <link rel="match" href="root-to-shared-animation-end-ref.html"> 6 7 <script src="/common/reftest-wait.js"></script> 8 9 <style> 10 body, html { padding: 0; margin: 0 } 11 body { 12 background: lightgreen; 13 } 14 #box { 15 width: 400px; 16 height: 400px; 17 background: blue; 18 contain: paint; 19 } 20 .hidden { 21 contain: paint; 22 width: 10px; 23 height: 10px; 24 background: red; 25 view-transition-name: hidden; 26 } 27 28 html::view-transition-group(hidden) { animation-duration: 300s; } 29 html::view-transition-image-pair(hidden) { visibility: hidden; } 30 31 html::view-transition-group(root) { animation-duration: 0s; } 32 html::view-transition-new(*) { animation: unset; opacity: 0; } 33 html::view-transition-old(*) { animation: unset; opacity: 1; } 34 </style> 35 36 <div id=box></div> 37 <div class=hidden></div> 38 39 <script> 40 failIfNot(document.startViewTransition, "Missing document.startViewTransition"); 41 42 async function runTest() { 43 document.startViewTransition(() => { 44 document.documentElement.style.viewTransitionName = "none"; 45 document.body.style.background = "yellow"; 46 box.style.viewTransitionName = "root"; 47 48 requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)); 49 }); 50 } 51 onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); 52 </script>