wpt / css / css-view-transitions / new-content-escapes-clip-with-abspos-child.html

Status: FAIL | Duration: 46ms | Subtests: 0/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-view-transitions/new-content-escapes-clip-with-abspos-child.html

<!DOCTYPE html>
<html class="reftest-wait">
<title>View transitions: view-transition-name element, when captured escapes its clips even if it has an abspos child</title>
<link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/">
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m">
<link rel="match" href="content-escapes-clip-with-abspos-child-ref.html">
<script src="/common/reftest-wait.js"></script>

<style>
#clipper {
  border-radius: 20px;
  overflow: hidden;
  width: max-content;
}
#target {
  width: 100px;
  height: 100px;
  background: lightblue;
  view-transition-name: target;
}
#abspos {
  position: absolute;
  left: 0;
  width: 50px;
  height: 50px;
  background: pink;
}

:root { view-transition-name: none }

::view-transition {
  background: rebeccapurple;
}

::view-transition-old(*) {
  animation: unset;
  opacity: 0;
}
::view-transition-new(*) {
  animation: unset;
  opacity: 1;
}
::view-transition-group(*) {
  animation-play-state: paused;
}
</style>


<div id=clipper>
  <div id=target>
    <div id=abspos></div>
  </div>
</div>

<script>
function runTest() {
  document.startViewTransition().ready.then(takeScreenshot);
}

requestAnimationFrame(() => requestAnimationFrame(() => {
  requestAnimationFrame(runTest);
}));
</script>

/css/css-view-transitions/content-escapes-clip-with-abspos-child-ref.html

<!DOCTYPE html>
<title>View transitions: view-transition-name element, when captured escapes its clips even if it has an abspos child (ref)</title>
<link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/">
<link rel="author" href="mailto:vmpstr@chromium.org">

<style>
#target {
  width: 100px;
  height: 100px;
  background: lightblue;
}
#abspos {
  position: absolute;
  left: 0;
  width: 50px;
  height: 50px;
  background: pink;
}

body { background: rebeccapurple }
</style>


<div id=target>
  <div id=abspos></div>
</div>