|
1 importScripts('utils_bug743615.js'); |
|
2 |
|
3 self.onmessage = function onMessage(evt) { |
|
4 // Check the pattern that was sent. |
|
5 var imageData = evt.data.imageData; |
|
6 var pattern = evt.data.pattern; |
|
7 var statusMessage = checkPattern(imageData, pattern) |
|
8 ? 'PASS' : 'Got corrupt typed array in worker'; |
|
9 |
|
10 // Check against the interface object. |
|
11 if (!(imageData instanceof ImageData)) |
|
12 statusMessage += ", Bad interface object in worker"; |
|
13 |
|
14 // Check the getters. |
|
15 if (imageData.width * imageData.height != imageData.data.length / 4) { |
|
16 statusMessage += ", Bad ImageData getters in worker: " |
|
17 statusMessage += [imageData.width, imageData.height].join(', '); |
|
18 } |
|
19 |
|
20 // Make sure that writing to .data is a no-op when not in strict mode. |
|
21 var origData = imageData.data; |
|
22 var threw = false; |
|
23 try { |
|
24 imageData.data = []; |
|
25 imageData.width = 2; |
|
26 imageData.height = 2; |
|
27 } catch(e) { threw = true; } |
|
28 if (threw || imageData.data !== origData) |
|
29 statusMessage = statusMessage + ", Should silently ignore sets"; |
|
30 |
|
31 |
|
32 |
|
33 // Send back a new pattern. |
|
34 pattern = makePattern(imageData.data.length, 99, 2); |
|
35 setPattern(imageData, pattern); |
|
36 self.postMessage({ statusMessage: statusMessage, imageData: imageData, |
|
37 pattern: pattern }); |
|
38 } |