<!doctype HTML>

<html class="reftest-wait">
<meta charset="utf8">
<title>CSS Content Visibility: auto + focus</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-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: lightgreen;
}
#container {
  width: 150px;
  background: lightblue;
  contain-intrinsic-size: 50px 150px;
}
#child {
  width: 150px;
  height: 300px;
}
#target {
  position: absolute;
  bottom: 0;

  width: 50px;
  height: 50px;
  background: red;
}
.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></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>
