OLD | NEW |
1 <script src = "../../../../resources/js-test.js"></script> | 1 <script src = "../../resources/js-test.js"></script> |
2 <script src = "../../../../fast/canvas/script-tests/canvas-toBlob-toDataURL-race
.js"></script> | 2 <script src = "../../fast/canvas/script-tests/canvas-toBlob-toDataURL-race.js"><
/script> |
3 <script type = 'text/javascript'> | 3 <script type = 'text/javascript'> |
4 description("Verifies if synchronous PNG image encoding (toDataURL) conflicts wi
th asynchronous image encoding (toBlob)"); | 4 description("Verifies if synchronous PNG image encoding (toDataURL) conflicts wi
th asynchronous image encoding (toBlob)"); |
5 | 5 |
6 //Fire a bunch of toBlob operations of canvas to keep the async thread busy | 6 //Fire a bunch of toBlob operations of canvas to keep the async thread busy |
7 var j = 0; // due to async nature of toBlob we need a separate counter | 7 var j = 0; // due to async nature of toBlob we need a separate counter |
8 for (var i = 0; i < numToBlobCalls; i++) | 8 for (var i = 0; i < numToBlobCalls; i++) |
9 { | 9 { |
10 canvas.toBlob(function(blob) { | 10 canvas.toBlob(function(blob) { |
11 url = URL.createObjectURL(blob); | 11 url = URL.createObjectURL(blob); |
12 testImages[j++].src = url; | 12 testImages[j++].src = url; |
13 }); | 13 }); |
14 } | 14 } |
15 | 15 |
16 //Then file a bunch of toDataURL operation on main thread, so both threads now c
ompete for image encoding | 16 //Then file a bunch of toDataURL operation on main thread, so both threads now c
ompete for image encoding |
17 for (var i = numToBlobCalls; i < (numToDataURLCalls + numToBlobCalls); i++) | 17 for (var i = numToBlobCalls; i < (numToDataURLCalls + numToBlobCalls); i++) |
18 { | 18 { |
19 testImages[i].src = canvas.toDataURL(); | 19 testImages[i].src = canvas.toDataURL(); |
20 } | 20 } |
21 </script> | 21 </script> |
OLD | NEW |