diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html')
-rw-r--r-- | testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html b/testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html new file mode 100644 index 0000000000..d654ba49aa --- /dev/null +++ b/testing/web-platform/tests/css/css-paint-api/paint2d-composite.https.html @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="help" href="https://drafts.css-houdini.org/css-paint-api/"> +<link rel="match" href="paint2d-composite-ref.html"> +<style> + div { + display: inline-block; + width: 80px; + height: 80px; + } + #source-over { background-image: paint(source-over); } + #source-in { background-image: paint(source-in); } + #source-out { background-image: paint(source-out); } + #source-atop { background-image: paint(source-atop); } + #destination-over { background-image: paint(destination-over); } + #destination-in { background-image: paint(destination-in); } + #destination-out { background-image: paint(destination-out); } + #destination-atop { background-image: paint(destination-atop); } + #lighter { background-image: paint(lighter); } + #xor { background-image: paint(xor); } +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/worklet-reftest.js"></script> +<body> +<div id="source-over"></div> +<div id="source-in"></div> +<div id="source-out"></div> +<div id="source-atop"></div> +<br> +<div id="destination-over"></div> +<div id="destination-in"></div> +<div id="destination-out"></div> +<div id="destination-atop"></div> +<br> +<div id="lighter"></div> +<div id="xor"></div> + +<script id="code" type="text/worklet"> +var compositeOps = [ + 'source-over', + 'source-in', + 'source-out', + 'source-atop', + 'destination-over', + 'destination-in', + 'destination-out', + 'destination-atop', + 'lighter', + 'xor' +]; + +function doPaint(ctx, op) { + ctx.fillStyle = 'red'; + ctx.fillRect(5, 5, 40, 40); + + ctx.globalCompositeOperation = op; + + ctx.fillStyle = 'deepskyblue'; + ctx.beginPath(); + ctx.arc(45,45,20,0,Math.PI*2,true); + ctx.fill(); +} + +for (var i = 0; i < compositeOps.length; i++) { + let op = compositeOps[i]; + registerPaint(op, class { paint(ctx, geom) { doPaint(ctx, op); } }); +} +</script> + +<script> + importWorkletAndTerminateTestAfterAsyncPaint(CSS.paintWorklet, document.getElementById('code').textContent); +</script> +</body> +</html> + |