wpt / css / css-masking / mask-image / backdrop-filter-mask-image-multi-layer-after-load.tentative.html

Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi

/css/css-masking/mask-image/backdrop-filter-mask-image-multi-layer-after-load.tentative.html

<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>Backdrop-filter with multiple mask-image layers is visible after all masks load</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="backdrop-filter-mask-image-multi-layer-after-load-ref.html">
<!-- CSS Masking does not specify behavior while some mask-image layers are still loading. -->

<script src="/common/reftest-wait.js"></script>
<script src="/common/rendering-utils.js"></script>

<style>
  body {
    margin: 0;
    background: yellow;
  }

  #target {
    width: 120px;
    height: 60px;
    backdrop-filter: invert(1);
    background-color: rgba(255, 255, 255, 0.5);
  }
</style>

<div id="target"></div>

<script>
  onload = () => {
    const url = "support/50x100-opaque-blue.svg?pipe=trickle(d10)";
    const target = document.getElementById('target');
    target.style.maskImage = `linear-gradient(black, black), url('${url}')`;

    const probe = new Image();
    probe.onload = () => waitForAtLeastOneFrame().then(takeScreenshot);
    probe.src = url;
  };
</script>

/css/css-masking/mask-image/backdrop-filter-mask-image-multi-layer-after-load-ref.html

<!DOCTYPE html>
<meta charset="utf-8">
<title>Reference for loaded backdrop-filter with multiple mask-image layers</title>

<style>
  body {
    margin: 0;
    background: yellow;
  }

  #target {
    width: 120px;
    height: 60px;
    backdrop-filter: invert(1);
    background-color: rgba(255, 255, 255, 0.5);
    mask-image: linear-gradient(black, black), url('support/50x100-opaque-blue.svg');
  }
</style>

<div id="target"></div>