<!DOCTYPE html>
<html>
<body>
    This test passes if there is a green box and no security errors.<br><br>
    <canvas id="canvas" width="100" height="100"></canvas>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }

        var svg = new Image();
        svg.src = "resources/100px-green-rect.svg";

        svg.onload = function() {
            var canvas = document.getElementById("canvas");
            var ctx = canvas.getContext("2d");

            ctx.drawImage(svg, 0, 0);
            ctx.getImageData(0, 0, 100, 100);

            if (window.testRunner)
                testRunner.notifyDone();
        };
    </script>
</body>
</html>
