wpt / css / css-contain / content-visibility / content-visibility-061.html

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-061.html

<!doctype HTML>

<html class="reftest-wait">
<meta charset="utf8">
<title>CSS Content Visibility: hidden + scrollIntoView on display:contents</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="spacer-and-container-ref.html">
<meta name="assert" content="scrollIntoView ignores display:contents element in a hidden subtree">
<script src="/common/reftest-wait.js"></script>

<style>
.spacer {
  width: 150px;
  height: 3000px;
  background: lightblue;
}
#container {
  width: 150px;
  height: 150px;
  background: red;
}
#target {
  display: contents;

  position: relative;
  top: 75px;

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

<div class=spacer>Test passes if there is no red.</div>
<div id=container class=hidden>
  <div id=target>FAIL</div>
</div>

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

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

/css/css-contain/content-visibility/spacer-and-container-ref.html

<!doctype HTML>
<html>
<meta charset="utf8">
<title>Content Visibility: spacer and a container (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>
.spacer {
  width: 150px;
  height: 3000px;
  background: lightblue;
}
#container {
  contain: style layout;
  width: 150px;
  height: 150px;
}
</style>

<div class="spacer">Test passes if there is no red.</div>
<div id="container"></div>
</html>