Status: FAIL | Duration: 51ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-view-transitions/new-content-ancestor-clipped.html
<!DOCTYPE html> <html class=reftest-wait> <title>View transitions: capture opacity elements</title> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <link rel="author" href="mailto:mattwoodrow@apple.com"> <link rel="match" href="new-content-ancestor-clipped-ref.html"> <script src="/common/reftest-wait.js"></script> <style> .outer { background-color: blue; overflow: hidden; box-shadow: -50px -50px 0px 0px rgba(0,0,0,1); position: relative; left: 100px; top: 100px; width: 200px; height: 200px; view-transition-name: outer; } .inner { background-color: red; position: relative; left: 50px; top: 50px; width: 200px; height: 200px; view-transition-name: inner; } /* We're verifying what we capture, so just display the new contents for 5 minutes. */ html::view-transition-group(*) { animation-duration: 300s; } html::view-transition-new(*) { animation: unset; opacity: 1; } html::view-transition-old(*) { animation: unset; opacity: 0; } /* hide the root so we show transition background to ensure we're in a transition */ html::view-transition-group(root) { animation: unset; opacity: 0; } html::view-transition { background: lightpink; } </style> <div class="outer"> <div class="inner"></div> </div> <script> failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { let t = document.startViewTransition(() => { requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)); }); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); </script>
/css/css-view-transitions/new-content-ancestor-clipped-ref.html
<!doctype HTML> <html> <head> <style> html { background: lightpink; } div { position: relative; width: 200px; height: 200px; } .outer { background-color: blue; box-shadow: -50px -50px 0px 0px rgba(0,0,0,1); left: 100px; top: 100px; } .inner { background-color: red; left: 50px; top: 50px; } </style> </head> <body> </body> <div class="outer"> <div class="inner"></div> </div> </html>