chromium/third_party/blink/web_tests/fast/canvas/pixelated.html

<!DOCTYPE html>
<style>
    img {
        display: none;
    }
    canvas {
        width: 100px;
        height: 100px;
        image-rendering: pixelated;
    }
    .canvas2 {
        image-rendering: auto;
    }
</style>
<body>
    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFElEQVQIHWP4z8DwHwyBNJDN8B8AQNEG+t5Ik2kAAAAASUVORK5CYII=">
    <!-- Test that gpu accelerated canvases work with pixelated. -->
    <!-- The result is 3 canvases, each with a 2x2 block of colors. Only the middle canvas should be blurred. -->
    <canvas class="canvas0" width="4" height="4"></canvas>
    <canvas class="canvas1" width="4" height="4"></canvas>
    <canvas class="canvas2" width="4" height="4"></canvas>
</body>
<script>
    function drawToCanvas(canvas) {
        var ctx = canvas.getContext("2d")
        ctx.drawImage(document.getElementsByTagName("img")[0], 1, 1);
    }

    function draw() {
        drawToCanvas(document.getElementsByTagName("canvas")[0]);
        var canvas1 = document.getElementsByTagName("canvas")[1];
        var canvas2 = document.getElementsByTagName("canvas")[2];
        drawToCanvas(canvas1);
        drawToCanvas(canvas2);
        // The first canvas stays pixelated. Flip the pixelated-ness of the
        // other two.
        canvas1.style.imageRendering = "auto";
        canvas2.style.imageRendering = "pixelated";
    }
    window.onload = draw;
</script>