Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-contain/content-visibility/content-visibility-074.html
<!doctype HTML> <html class="reftest-wait"> <meta charset="utf8"> <title>CSS Content Visibility: toggling auto with composited descedant</title> <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility"> <link rel="match" href="content-visibility-074-ref.html"> <meta name="assert" content="after toggling content-visibility auto a few times, composited descedant is visible."> <script src="/common/reftest-wait.js"></script> <style> #a { will-change: transform; } #b { height: 15000px; } #c { width: 800px; height: 600px; } #d { will-change: transform; top: 0px; width: 500px; height: 500px; background: green; } .auto { content-visibility: auto; } </style> <div id="a"> </div> <div id="b"> <div id="c" class=auto> <div id="d"></div> </div> </div> </div> <script> function runTest(step) { if (step % 2 == 0) { requestAnimationFrame(() => runTest(step + 1)); return; } switch(step) { case 1: document.getElementById("c").classList.remove("auto"); break; case 3: document.getElementById("c").classList.add("auto"); break; case 5: document.getElementById("c").classList.remove("auto"); break; case 7: document.getElementById("c").classList.add("auto"); break; case 9: takeScreenshot(); return; } requestAnimationFrame(() => runTest(step + 1)); } window.onload = () => requestAnimationFrame(() => runTest(0)); </script>
/css/css-contain/content-visibility/content-visibility-074-ref.html
<!doctype HTML> <html> <meta charset="utf8"> <title>CSS Content Visibility: toggling auto with composited descedant (reference)</title> <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility"> <style> #a { will-change: transform; } #b { height: 15000px; } #c { width: 800px; height: 600px; } #d { will-change: transform; top: 0px; width: 500px; height: 500px; background: green; } .contain { contain: layout style paint; } </style> <div id="a"> </div> <div id="b"> <div id="c" class=contain> <div id="d"></div> </div> </div> </div>