OLD | NEW |
---|---|
(Empty) | |
1 <script src="../../resources/testharness.js"></script> | |
2 <script src="../../resources/testharnessreport.js"></script> | |
3 <script id="myWorker" type="text/worker"> | |
4 self.onmessage = function(e) { | |
5 var offscreenCanvas = new OffscreenCanvas(4, 4); | |
6 var ctx = offscreenCanvas.getContext("2d"); | |
7 ctx.fillStyle = "#FF0102"; | |
8 ctx.fillRect(0, 0, 4, 4); | |
9 | |
10 offscreenCanvas.convertToBlob().then(function(blob) { | |
11 self.postMessage(blob); | |
12 }); | |
13 | |
14 }; | |
15 </script> | |
16 <script type = 'text/javascript'> | |
17 // In WebKit Layout Tests, flag "--enable-threaded-compositing", which is | |
Justin Novosad
2017/01/06 15:49:21
same here
| |
18 // essential for idle task running, is not turned on by default. This makes | |
19 // it convenient to test the case when CanvasAsyncBlobCreator is idling for | |
20 // too long and switching to forcing encoding in a normal task. | |
21 // Passing this test means that the enforcing mechanism in | |
22 // CanvasAsyncBlobCreator for OffscreenCanvas case is working as expected. | |
23 var w = 4; | |
24 var h = 4; | |
25 | |
26 var newImg = new Image(); | |
27 function imageLoaded() { | |
28 var canvas2 = document.createElement("canvas"); | |
29 canvas2.width = w; | |
30 canvas2.height = h; | |
31 var ctx2 = canvas2.getContext("2d"); | |
32 ctx2.drawImage(newImg, 0, 0, w, h); | |
33 | |
34 var imageData = ctx2.getImageData(0, 0, w, h).data; | |
35 assert_equals(imageData[0], 255); | |
36 assert_equals(imageData[1], 1); | |
37 assert_equals(imageData[2], 2); | |
38 assert_equals(imageData[3], 255); | |
39 testImageFromOffscreen.done(); | |
40 } | |
41 | |
42 var workerBlob = new Blob([document.getElementById('myWorker').textContent]); | |
43 var worker = new Worker(URL.createObjectURL(workerBlob)); | |
44 worker.addEventListener("message", function(msg) { | |
45 var blob = msg.data; | |
46 newImg.src = URL.createObjectURL(blob); | |
47 }); | |
48 | |
49 var testImageFromOffscreen = async_test( | |
50 "Check if the image loaded from blob returned by " + | |
51 "OffscreenCanvas.convertToBlob() have expected image data values."); | |
52 | |
53 testImageFromOffscreen.step(function() { | |
54 newImg.onload = testImageFromOffscreen.step_func(imageLoaded); | |
55 worker.postMessage(""); | |
56 }); | |
57 | |
58 </script> | |
OLD | NEW |