Status: PASS | Duration: 7ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-contain/content-visibility/content-visibility-paint-containment-002.html
<!DOCTYPE html> <html class="reftest-wait"> <meta charset="utf-8"> <title>content-visibility and paint containment</title> <link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property"> <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1765615"> <meta name="assert" content="Verify paint containment is properly updated after dynamic change to the content-visibility property."> <link rel="match" href="content-visibility-paint-containment-002-ref.html"> <script src="/common/reftest-wait.js"></script> <script src="/common/rendering-utils.js"></script> <style> #container { width: 100px; height: 100px; background: green; content-visibility: visible; /* Dynamic modification of content-visibility may change whether style containment is applied, which in turn may cause drastic invalidations (e.g. rebuilding counters). Make the test more robust by forcing style containment to always apply. */ contain: style; } #overflowing { width: 400px; height: 100px; } .square { display: inline-block; width: 50px; height: 50px; margin: 5px; } .red { background: red; } </style> <body> <p>PASS if you see a green square and no red.</p> <div id="container"> <div id="overflowing"><div class="square"></div><div class="square"></div><div class="red square"></div></div> </div> <script> window.addEventListener("TestRendered", async () => { container.style.contentVisibility = "hidden"; await waitForAtLeastOneFrame(); takeScreenshot(); }); </script> </body> </html>
/css/css-contain/content-visibility/content-visibility-paint-containment-002-ref.html
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>content-visibility and paint containment (reference)</title> <style> #container { width: 100px; height: 100px; background: green; content-visibility: hidden; contain: style; } #overflowing { width: 400px; height: 100px; } .square { display: inline-block; width: 50px; height: 50px; margin: 5px; } .red { background: red; } </style> <body> <p>PASS if you see a green square and no red.</p> <div id="container"> <div id="overflowing"><div class="square"></div><div class="square"></div><div class="red square"></div></div> </div> </body> </html>