<canvas id="mycanvas"></canvas>
<img id="result" onload="testDone()">
<script type = 'text/javascript'>
if (window.testRunner) {
    testRunner.dumpAsTextWithPixelResults();
    testRunner.waitUntilDone();
}

function testDone()
{
    if (window.testRunner)
        testRunner.notifyDone();
}

var image = new Image();
image.onload = function() {
        var canvas = document.getElementById("mycanvas");
        canvas.width = image.width;
        canvas.height = image.height;
        var ctx = canvas.getContext('2d');
        ctx.drawImage(image, 0, 0);

        canvas.toBlob(function(blob) {
            url = URL.createObjectURL(blob);
            result.src = url;
        }, "image/jpeg", 1.0);
}
image.src = "resources/letters.png";
</script>
