Bug 1928997: Update tabs icon in Unified Search popup r=desktop-theme-reviewers,daleh...
[gecko.git] / dom / canvas / test / imagebitmap_on_worker.js
blob7eae28a7f9a96b6059f1a945021e09390556e6c2
1 importScripts("imagebitmap_bug1239300.js");
3 function ok(expect, msg) {
4   postMessage({ type: "status", status: !!expect, msg });
7 function doneTask() {
8   postMessage({ type: "doneTask" });
11 function promiseThrows(p, name) {
12   var didThrow;
13   return p
14     .then(
15       function () {
16         didThrow = false;
17       },
18       function () {
19         didThrow = true;
20       }
21     )
22     .then(function () {
23       ok(didThrow, "[TestException] " + name);
24     });
27 onmessage = function (event) {
28   if (event.data.type == "testImageData") {
29     var width = event.data.width;
30     var height = event.data.height;
31     var imageData = event.data.source;
32     ok(imageData, "[CreateFromImageData] An ImageData is passed into worker.");
33     ok(
34       imageData.width == width,
35       "[CreateFromImageData] Passed ImageData has right width = " + width
36     );
37     ok(
38       imageData.height == height,
39       "[CreateFromImageData] Passed ImageData has right height = " + height
40     );
42     var promise = createImageBitmap(imageData);
43     promise.then(function (bitmap) {
44       ok(bitmap, "[CreateFromImageData] ImageBitmap is created successfully.");
45       ok(
46         bitmap.width == width,
47         "[CreateFromImageData] ImageBitmap.width = " +
48           bitmap.width +
49           ", expected witdth = " +
50           width
51       );
52       ok(
53         bitmap.height == height,
54         "[CreateFromImageData] ImageBitmap.height = " +
55           bitmap.height +
56           ", expected height = " +
57           height
58       );
60       doneTask();
61     });
62   } else if (event.data.type == "testBlob") {
63     var width = event.data.width;
64     var height = event.data.height;
65     var blob = event.data.source;
66     ok(blob, "[CreateFromBlob] A Blob object is passed into worker.");
68     var promise = createImageBitmap(blob);
69     promise.then(function (bitmap) {
70       ok(bitmap, "[CreateFromBlob] ImageBitmap is created successfully.");
71       ok(
72         bitmap.width == width,
73         "[CreateFromBlob] ImageBitmap.width = " +
74           bitmap.width +
75           ", expected witdth = " +
76           width
77       );
78       ok(
79         bitmap.height == height,
80         "[CreateFromBlob] ImageBitmap.height = " +
81           bitmap.height +
82           ", expected height = " +
83           height
84       );
86       doneTask();
87     });
88   } else if (event.data.type == "testImageBitmap") {
89     var width = event.data.width;
90     var height = event.data.height;
91     var source = event.data.source;
92     ok(
93       source,
94       "[CreateFromImageBitmap] A soruce object is passed into worker."
95     );
97     var promise = createImageBitmap(source);
98     promise.then(function (bitmap) {
99       ok(
100         bitmap,
101         "[CreateFromImageBitmap] ImageBitmap is created successfully."
102       );
103       ok(
104         bitmap.width == width,
105         "[CreateFromImageBitmap] ImageBitmap.width = " +
106           bitmap.width +
107           ", expected witdth = " +
108           width
109       );
110       ok(
111         bitmap.height == height,
112         "[CreateFromImageBitmap] ImageBitmap.height = " +
113           bitmap.height +
114           ", expected height = " +
115           height
116       );
118       var promise2 = createImageBitmap(bitmap);
119       promise2.then(function (bitmap2) {
120         ok(
121           bitmap2,
122           "[CreateFromImageBitmap] 2nd ImageBitmap is created successfully."
123         );
124         ok(
125           bitmap.width == width,
126           "[CreateFromImageBitmap] ImageBitmap.width = " +
127             bitmap.width +
128             ", expected witdth = " +
129             width
130         );
131         ok(
132           bitmap.height == height,
133           "[CreateFromImageBitmap] ImageBitmap.height = " +
134             bitmap.height +
135             ", expected height = " +
136             height
137         );
139         doneTask();
140       });
141     });
142   } else if (event.data.type == "testException") {
143     var source = event.data.source;
144     if (event.data.sx) {
145       var sx = event.data.sx;
146       var sy = event.data.sy;
147       var sw = event.data.sw;
148       var sh = event.data.sh;
149       promiseThrows(createImageBitmap(source, sx, sy, sw, sh), event.data.msg);
150     } else {
151       promiseThrows(createImageBitmap(source), event.data.msg);
152     }
153     doneTask();
154   } else if (event.data.type == "testBug1239300") {
155     var promise = testBug1239300();
156     promise.then(doneTask, doneTask);
157   }