Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions css/css-masking/mask-image/backdrop-filter-bad-mask-image.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Backdrop-filter with invalid mask-image URL</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="about:blank">

<style>
.backdrop-filter {
backdrop-filter: invert(1);
background-color: rgba(255, 255, 255, 0.5);
}

.bad-mask {
/* This invalid mask-image should fully-mask this element. */
mask-image: url("invalid://nonexistent");
}

.double-mask {
/* Multiple invalid mask layers: all invalid, element should be fully masked. */
mask-image: url("invalid://nonexistent"), url("invalid://nonexistent");
}
</style>

<p class="backdrop-filter bad-mask">Backdrop-filter with invalid mask-image</p>
<p class="backdrop-filter double-mask">Backdrop-filter with two invalid mask-image</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Reference for backdrop-filter with invalid mask-image URL</title>

<style>
body {
background-color: yellow;
}

/* Reference for backdrop-filter only - should show inverted background */
.backdrop-filter {
backdrop-filter: invert(1);
background-color: rgba(255, 255, 255, 0.5);
}
</style>

<p class="backdrop-filter double-mask">Backdrop-filter with double mask-image</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Backdrop-filter with invalid mask-image URL</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="backdrop-filter-good-and-bad-mask-image-ref.html">

<style>
body {
background-color: yellow;
}

.double-mask {
/* Multiple mask layers: invalid mask is ignored, valid mask takes effect. */
mask-image: url("invalid://nonexistent"), linear-gradient(black, black);
}

.backdrop-filter {
backdrop-filter: invert(1);
background-color: rgba(255, 255, 255, 0.5);
}
</style>

<p class="backdrop-filter double-mask">Backdrop-filter with double mask-image</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>Backdrop-filter with mask image remains hidden while loading</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="about:blank">

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

<p id="target" style="backdrop-filter: invert(1); background-color: rgba(255, 255, 255, 0.5);">Backdrop-filter with
a loading mask-image</p>
<script>
onload = () => {
const p = document.getElementById('target');
p.style.maskImage = `url("support/transparent-100x50-blue-100x50.svg?pipe=trickle(d10)")`;
waitForAtLeastOneFrame().then(takeScreenshot);
};
</script>
16 changes: 16 additions & 0 deletions css/css-masking/mask-image/bad-mask-image-svg.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>SVG with invalid mask-images</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="about:blank">

<style>
svg > rect {
/* Multiple invalid mask layers: all invalid, SVG element should be fully masked. */
mask-image: url("invalid://nonexistent"), url("invalid://nonexistent");
}
</style>

<svg>
<rect width="50" height="100" fill="green" />
</svg>
14 changes: 14 additions & 0 deletions css/css-masking/mask-image/bad-mask-image.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Invalid mask-image URL</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
<link rel="match" href="about:blank">

<style>
.bad-mask {
/* This invalid mask-image should fully-mask this element. */
mask-image: url("invalid://nonexistent");
}
</style>

<p class="bad-mask">Invalid mask-image</p>