animating-new-content-subset.html (1849B)
1 <!DOCTYPE html> 2 <html class=reftest-wait> 3 <title>View transitions: animations in the new element show up in the images if it partially changes</title> 4 <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> 5 <link rel="author" href="mailto:khushalsagar@chromium.org"> 6 <link rel="match" href="animating-new-content-subset-ref.html"> 7 8 <script src="/common/reftest-wait.js"></script> 9 <script src="/common/rendering-utils.js"></script> 10 <style> 11 #target { 12 width:100px; 13 height:100px; 14 background: blue; 15 view-transition-name: target; 16 will-change: transform; 17 } 18 19 .child { 20 width: 50px; 21 height: 50px; 22 will-change: transform; 23 background: green; 24 } 25 26 .hidden { 27 width: 10px; 28 height: 10px; 29 background: grey; 30 view-transition-name: hidden; 31 } 32 33 html::view-transition-group(hidden) { animation-duration: 300s; visibility: hidden;} 34 35 html::view-transition-group(target) { 36 animation: unset; 37 } 38 39 html::view-transition-image-pair(target) { 40 isolation: unset; 41 } 42 html::view-transition-old(target), html::view-transition-new(target) { 43 animation: unset; 44 mix-blend-mode: normal; 45 } 46 47 html::view-transition-old(target) { 48 opacity: 0; 49 } 50 51 html::view-transition-new(target) { 52 opacity: 1; 53 } 54 </style> 55 56 <div id="target"> 57 <div class="child" id="child"> 58 I'm the inner composited child. 59 </div> 60 </div> 61 <div class="hidden"></div> 62 63 <script> 64 failIfNot(document.startViewTransition, "Missing document.startViewTransition"); 65 66 async function runTest() { 67 let transition = document.startViewTransition(); 68 transition.ready.then(async () => { 69 await waitForAtLeastOneFrame(); 70 await waitForAtLeastOneFrame(); 71 child.style.background = "grey"; 72 73 await waitForAtLeastOneFrame(); 74 await waitForAtLeastOneFrame(); 75 takeScreenshot(); 76 }); 77 } 78 onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); 79 </script>