Status: FAIL | Duration: 42ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-view-transitions/pseudo-element-overflow-hidden.html
<!DOCTYPE html> <html class="reftest-wait"> <title>View transitions: overflow:hidden is respected on pseudo 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="pseudo-element-overflow-hidden-ref.html"> <script src="/common/reftest-wait.js"></script> <style> body { margin: 0px; } div { width: 200px; height: 200px; } #target { width: 200px; height: 200px; background: green; view-transition-name: target; } #inner { position: relative; left: 100px; top: 100px; background: blue; } /* We're verifying what we capture, so just display both of the captures 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: 1; } /* 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: pink; } html::view-transition-new(target) { overflow:hidden; } html::view-transition-old(target) { left: 400px; overflow: hidden; } </style> <div id="target"><div id="inner"></div></div> <script> failIfNot(document.startViewTransition, "Missing document.startViewTransition"); async function runTest() { let t = document.startViewTransition(); t.ready.then(takeScreenshot); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); </script> </html>
/css/css-view-transitions/pseudo-element-overflow-hidden-ref.html
<!DOCTYPE html> <html style="background:pink"> <title>View transitions: overflow:hidden is respected on pseudo elements</title> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <style> body { margin: 0px; } div { width: 200px; height: 200px; } #target { position: absolute; width: 200px; height: 200px; background: green; overflow: hidden; } #inner { position: relative; left: 100px; top: 100px; background: blue; } .offset { left: 400px; } </style> <div id="target"><div id="inner"></div></div> <div id="target" class="offset"><div id="inner"></div></div> </html>