blob: 8529369955c5010e007b82ebf41989002060ba6d [file] [log] [blame]
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body>
<script>
var img = new Image();
img.onload = imageLoaded;
img.src = 'resources/green-red-animated.gif';
function consumeImageBitmap(image, t)
{
var myCanvas = document.createElement('canvas');
myCanvas.width = myCanvas.height = 200;
var myCtx = myCanvas.getContext('bitmaprenderer');
myCtx.transferFromImageBitmap(image);
createImageBitmap(myCanvas).then(t.step_func_done(function(imageBitmap) {
var dstCanvas = document.createElement('canvas');
dstCanvas.width = dstCanvas.height = 200;
var dstCtx = dstCanvas.getContext('2d');
dstCtx.clearRect(0, 0, 200, 200);
dstCtx.drawImage(imageBitmap, 0, 0);
// If the ImageBitmap is green, we know that it is a snapshot of the gif's 0th frame.
assert_array_equals(dstCtx.getImageData(100, 100, 1, 1).data, [0, 255, 0, 255]);
}));
}
function imageLoaded() {
async_test(function(t) {
createImageBitmap(img).then(function(image) {
consumeImageBitmap(image, t);
});
}, 'Test that createImageBitmap from an animated gif produces correct result.');
}
</script>
</body>