no-root-capture.html (1509B)
1 <!DOCTYPE html> 2 <html class=reftest-wait> 3 <title>View transitions: shared element with overflow</title> 4 <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> 5 <link rel="author" href="mailto:vmpstr@chromium.org"> 6 <link rel="match" href="no-root-capture-ref.html"> 7 <script src="/common/reftest-wait.js"></script> 8 <style> 9 :root { view-transition-name: none; } 10 .target { 11 width: 100px; 12 height: 100px; 13 contain: paint; 14 background: blue; 15 overflow-clip-margin: 50px; 16 view-transition-name: target; 17 } 18 .child { 19 width: 200px; 20 height: 200px; 21 position: relative; 22 top: 50px; 23 left: 50px; 24 background: green; 25 } 26 27 html::view-transition-group(target) { animation-duration: 300s; } 28 html::view-transition-new(target) { animation: unset; opacity: 0; } 29 html::view-transition-old(target) { 30 animation: unset; 31 opacity: 1; 32 } 33 34 /* None of these should apply, so make everything red if it does */ 35 html::view-transition-group(root) { animation: unset; opacity: 1; background: red; } 36 html::view-transition-image-pair(root) { visibility: hidden } 37 </style> 38 39 This text should appear unmodified, since the root isn't captured. 40 <div class=target> 41 <div class=child> 42 </div> 43 </div> 44 45 <script> 46 failIfNot(document.startViewTransition, "Missing document.startViewTransition"); 47 48 async function runTest() { 49 document.startViewTransition(() => 50 requestAnimationFrame(() => requestAnimationFrame(takeScreenshot))); 51 } 52 onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); 53 </script>