| <script src = "../../resources/js-test.js"></script> |
| <script src = "./script-tests/canvas-toBlob-toDataURL-race.js"></script> |
| <script type = 'text/javascript'> |
| description("Verifies if JPEG image encoding on main thread (toDataURL) conflicts with image encoding on async thread (toBlob)"); |
| |
| //Fire a bunch of toBlob operations of canvas to keep the async thread busy |
| var j = 0; // due to async nature of toBlob we need a separate counter |
| for (var i = 0; i < numToBlobCalls; i++) |
| { |
| canvas.toBlob(function(blob) { |
| url = URL.createObjectURL(blob); |
| testImages[j++].src = url; |
| }, "image/jpeg", 1.0); |
| } |
| |
| //Then file a bunch of toDataURL operation on main thread, so both threads now compete for image encoding |
| for (var i = numToBlobCalls; i < (numToDataURLCalls + numToBlobCalls); i++) |
| { |
| testImages[i].src = canvas.toDataURL("image/jpeg", 1.0); |
| } |
| </script> |