<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: 2d.drawImage.animated.apng</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>
<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
<body class="show_output">

<h1>2d.drawImage.animated.apng</h1>
<p class="desc">drawImage() of an APNG with no poster frame draws the first frame</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="/images/green-100x50.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
var t = async_test("drawImage() of an APNG with no poster frame draws the first frame");
_addTest(function(canvas, ctx) {

deferTest();
step_timeout(t.step_func_done(function () {
    ctx.drawImage(document.getElementById('anim-gr.png'), 0, 0);
    _assertPixelApprox(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 2);
}), 500);


});
</script>
<img src="/images/anim-gr.png" id="anim-gr.png" class="resource">

