chromium/third_party/blink/web_tests/external/wpt/css/css-contain/content-visibility/content-visibility-064.html

<!doctype HTML>

<html class="reftest-wait">
<meta charset="utf8">
<title>CSS Content Visibility: auto + focus</title>
<link rel="author" title="Vladimir Levin" href="mailto:[email protected]">
<link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility">
<link rel="match" href="content-visibility-064-ref.html">
<meta name="assert" content="focus() can focus auto skipped subtree elements">
<meta name="assert" content="focus() scrolls after removing contain:size">
<script src="/common/reftest-wait.js"></script>

<style>
.spacer {
  height: 1000px;
  background: lightblue;
}
#container {
  width: 150px;
  background: lightblue;
  contain-intrinsic-size: 50px 150px;
  contain: paint;
}
#child {
  width: 150px;
  height: 300px;
}
#target {
  position: absolute;
  bottom: 0;

  width: 50px;
  height: 50px;
  background: green;
}
.auto {
  content-visibility: auto;
}
</style>

<div>top of the page</div>
<div class=spacer></div>
<div id=container class=auto>
  <div id=child></div>
  <div id=target tabindex=0>PASS</div>
</div>
<div class=spacer></div>
<div>bottom of the page</div>

<script>
function runTest() {
  document.getElementById("target").focus();
  requestAnimationFrame(takeScreenshot);
}

window.onload = requestAnimationFrame(() => {
  requestAnimationFrame(() => {
    requestAnimationFrame(() => {
      runTest();
    });
  });
});
</script>
</html>