2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
3 <title>OffscreenCanvas test:
2d.composite.canvas.source-over
</title>
4 <script src=
"/resources/testharness.js"></script>
5 <script src=
"/resources/testharnessreport.js"></script>
6 <script src=
"/html/canvas/resources/canvas-tests.js"></script>
8 <h1>2d.composite.canvas.source-over
</h1>
13 var t
= async_test("");
14 var t_pass
= t
.done
.bind(t
);
15 var t_fail
= t
.step_func(function(reason
) {
20 var canvas
= new OffscreenCanvas(100, 50);
21 var ctx
= canvas
.getContext('2d');
24 var offscreenCanvas2
= new OffscreenCanvas(canvas
.width
, canvas
.height
);
25 var ctx2
= offscreenCanvas2
.getContext('2d');
26 var promise
= new Promise(function(resolve
, reject
) {
27 var xhr
= new XMLHttpRequest();
28 xhr
.open("GET", '/images/yellow75.png');
29 xhr
.responseType
= 'blob';
31 xhr
.onload = function() {
32 resolve(xhr
.response
);
35 promise
.then(function(response
) {
36 createImageBitmap(response
).then(bitmap
=> {
37 ctx2
.drawImage(bitmap
, 0, 0);
38 ctx
.fillStyle
= 'rgba(0, 255, 255, 0.5)';
39 ctx
.fillRect(0, 0, 100, 50);
40 ctx
.globalCompositeOperation
= 'source-over';
41 ctx
.drawImage(offscreenCanvas2
, 0, 0);
42 _assertPixelApprox(canvas
, 50,25, 219,255,36,223, 5);
44 }).then(t_pass
, t_fail
);