2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
3 <title>OffscreenCanvas test:
2d.shadow.image.scale
</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.shadow.image.scale
</h1>
9 <p class=
"desc">Shadows are drawn correctly for scaled images
</p>
13 var t
= async_test("Shadows are drawn correctly for scaled images");
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');
23 ctx
.fillStyle
= '#f00';
24 ctx
.fillRect(0, 0, 100, 50);
25 ctx
.shadowOffsetY
= 50;
26 ctx
.shadowColor
= '#0f0';
27 var promise
= new Promise(function(resolve
, reject
) {
28 var xhr
= new XMLHttpRequest();
29 xhr
.open("GET", '/images/redtransparent.png');
30 xhr
.responseType
= 'blob';
32 xhr
.onload = function() {
33 resolve(xhr
.response
);
36 promise
.then(function(response
) {
37 createImageBitmap(response
).then(bitmap
=> {
38 ctx
.drawImage(bitmap
, 0, 0, 100, 50, -10, -50, 240, 50);
39 _assertPixelApprox(canvas
, 25,25, 0,255,0,255, 2);
40 _assertPixelApprox(canvas
, 50,25, 0,255,0,255, 2);
41 _assertPixelApprox(canvas
, 75,25, 0,255,0,255, 2);
43 }).then(t_pass
, t_fail
);