<!DOCTYPE HTML>
<html>
  <head>
    <style>
      #container {
        width: 100px;
        height: 100px;
        border: 3px solid black;
        overflow: scroll;
      }

      canvas {
        background-color: gray;
        border: 1px solid black;
        transform: translateZ(0);
      }
    </style>
    <script>
      if (window.testRunner)
          testRunner.dumpAsTextWithPixelResults();

      if (window.internals) {
          window.internals.settings.setAccelerated2dCanvasEnabled(true);
      }

      function doTest() {
        var canvas = document.getElementById("canvas");
        var context = canvas.getContext('2d');
        context.fillStyle = 'green';
        context.fillRect(0, 0, 150, 100);
        canvas.height = "200px";
      }

      window.onload = doTest;
    </script>
  </head>
<body>
  <div id="container">
    <canvas id="canvas" width="50" height="50"></canvas>
  </div>
</body>
</html>
