blob: 0546cd7e5c152cd3a414483544719ff18e0ef113 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<script>
jsTestIsAsync = true;
description("Tests that createImageBitmap from a canvas.toBlob object should have the same pixel data as the blob.");
var imageData2;
var imageData3;
var canvas1 = document.createElement("canvas");
var ctx1 = canvas1.getContext("2d");
ctx1.fillStyle = "#FF0000";
ctx1.fillRect(0, 0, 300, 150);
var newImg = new Image();
newImg.onload = function() {
var canvas3 = document.createElement("canvas");
var ctx3 = canvas3.getContext("2d");
ctx3.drawImage(newImg, 0, 0, 300, 150);
imageData3 = ctx3.getImageData(0, 0, 300, 150).data;
var imageMatched = true;
for (var i = 1; i < imageData2.length; i++) {
if (imageData2[i] != imageData3[i]) {
imageMatched = false;
break;
}
}
if (imageMatched)
testPassed("image data from the created ImageBitmap and the originated blob is the same");
else
testFailed("image data from the created ImageBitmap and the originated blob is NOT the same");
finishJSTest();
}
canvas1.toBlob(function(blob) {
createImageBitmap(blob).then(imageBitmap => {
var canvas2 = document.createElement("canvas");
var ctx2 = canvas2.getContext("2d");
ctx2.drawImage(imageBitmap, 0, 0, 300, 150);
imageData2 = ctx2.getImageData(0, 0, 300, 150).data;
url = URL.createObjectURL(blob);
newImg.src = url;
});
});
</script>