Status: PASS | Duration: 6ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-view-transitions/backdrop-filter-animated.html
<!DOCTYPE html> <html class="reftest-wait"> <title>View transitions: captured backdrop filter on the element animates</title> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <link rel="author" href="mailto:vmpstr@chromium.org"> <link rel="match" href="backdrop-filter-animated-ref.html"> <script src="/common/reftest-wait.js"></script> <meta name="fuzzy" content="maxDifference=0-10;totalPixels=0-100"> <style> .box { background: green; width: 100px; height: 100px; } #target { view-transition-name: target; width: 50px; height: 50px; position: absolute; top: 20px; left: 20px; backdrop-filter: grayscale(1); } #target.after { backdrop-filter: grayscale(0); } html::view-transition-group(*) { animation-duration: 1s; animation-timing-function: linear; animation-play-state: paused; } html::view-transition-new(*) { animation: unset; opacity: 1; } html::view-transition-old(*) { animation: unset; opacity: 0; } </style> <div class=box></div> <div id=target></div> <script> failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { let transition = document.startViewTransition(() => target.classList.add("after")); transition.ready.then(() => { requestAnimationFrame(() => requestAnimationFrame(() => { document.getAnimations().forEach((animation) => { animation.currentTime = 500; }); requestAnimationFrame(takeScreenshot); })); }); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); </script> </html>
/css/css-view-transitions/backdrop-filter-animated-ref.html
<!DOCTYPE html> <title>View transitions: capture with backdrop filter on the element (ref)</title> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <link rel="author" href="mailto:vmpstr@chromium.org"> <style> .box { background: green; width: 100px; height: 100px; } #target { width: 50px; height: 50px; position: absolute; top: 20px; left: 20px; backdrop-filter: grayscale(0.5); } </style> <div class=box></div> <div id=target></div>