2d.layer.reset.plain_layer.w.html (1749B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <html class="reftest-wait"> 5 <link rel="match" href="2d.layer.reset.plain_layer-expected.html"> 6 <title>Canvas test: 2d.layer.reset.plain_layer</title> 7 <h1>2d.layer.reset.plain_layer</h1> 8 <p class="desc">Checks that reset discards any pending layers.</p> 9 <canvas id="canvas" width="100" height="50"> 10 <p class="fallback">FAIL (fallback content)</p> 11 </canvas> 12 <script id='myWorker' type='text/worker'> 13 self.onmessage = function(e) { 14 const canvas = new OffscreenCanvas(100, 50); 15 const ctx = canvas.getContext('2d'); 16 17 // Global states: 18 ctx.globalAlpha = 0.3; 19 ctx.globalCompositeOperation = 'source-in'; 20 ctx.shadowOffsetX = -3; 21 ctx.shadowOffsetY = 3; 22 ctx.shadowColor = 'rgba(0, 30, 0, 0.3)'; 23 ctx.shadowBlur = 3; 24 ctx.filter = 'blur(5px)'; 25 26 ctx.beginLayer(); 27 28 // Layer states: 29 ctx.globalAlpha = 0.6; 30 ctx.globalCompositeOperation = 'source-in'; 31 ctx.shadowOffsetX = -6; 32 ctx.shadowOffsetY = 6; 33 ctx.shadowColor = 'rgba(0, 60, 0, 0.6)'; 34 ctx.shadowBlur = 3; 35 ctx.filter = 'blur(15px)'; 36 37 ctx.reset(); 38 39 ctx.fillRect(10, 10, 75, 50); 40 41 const bitmap = canvas.transferToImageBitmap(); 42 self.postMessage(bitmap, bitmap); 43 }; 44 </script> 45 <script> 46 const blob = new Blob([document.getElementById('myWorker').textContent]); 47 const worker = new Worker(URL.createObjectURL(blob)); 48 worker.addEventListener('message', msg => { 49 const outputCtx = document.getElementById("canvas").getContext('2d'); 50 outputCtx.drawImage(msg.data, 0, 0); 51 document.documentElement.classList.remove("reftest-wait"); 52 }); 53 worker.postMessage(null); 54 </script> 55 </html>