| <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> |