Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/canvas/offscreen/layers/2d.layer.drawImage.ctx-filter.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<meta charset="UTF-8">
<link rel="match" href="2d.layer.drawImage.ctx-filter-expected.html">
<title>Canvas test: 2d.layer.drawImage.ctx-filter</title>
<h1>2d.layer.drawImage.ctx-filter</h1>
<p class="desc">Checks that drawImage writes the image to the layer and not the parent directly.</p>
<canvas id="canvas" width="200" height="200">
<p class="fallback">FAIL (fallback content)</p>
</canvas>
<script>
const canvas = new OffscreenCanvas(200, 200);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'skyblue';
ctx.fillRect(0, 0, 100, 100);
ctx.filter = 'drop-shadow(-10px -10px 0px navy)';
ctx.beginLayer();
ctx.fillStyle = 'maroon';
ctx.fillRect(20, 20, 50, 50);
ctx.globalCompositeOperation = 'xor';
// The image should xor only with the layer content, not the parents'.
const canvas_image = new OffscreenCanvas(200,200);
const ctx_image = canvas_image.getContext("2d");
ctx_image.fillStyle = 'pink';
ctx_image.fillRect(40, 40, 50, 50);
ctx.drawImage(canvas_image, 0, 0);
ctx.endLayer();
const outputCanvas = document.getElementById("canvas");
outputCanvas.getContext('2d').drawImage(canvas, 0, 0);
</script>