<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src = "./script-tests/canvas-toBlob-toDataURL-race.js"></script>
<script>
async_test(function(t) {
createAllTestCases(t);
//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;
});
}
//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();
}
}, "Verifies if synchronous PNG image encoding (toDataURL) conflicts with asynchronous image encoding (toBlob)");
</script>