<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
  #overflow {
    overflow:auto;
    width:200px;
    height:200px;
    -webkit-transform:translateZ(0);
  }
</style>
<script type='text/javascript'>
  function doTest() {
    var canvas = document.createElement('canvas');
    canvas.width = 1;
    canvas.height = 400;
    var content = document.getElementById("content");
    content.onload = function() {
      var overflow = document.getElementById("overflow");
        overflow.scrollTop = 50;
        if (window.testRunner)
          testRunner.notifyDone();
    }
    content.src = canvas.toDataURL();
  }
  window.addEventListener('load', doTest, false);

  if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText(true);
  }
</script>
</head>
<body>
  <!-- This test passes if a partially scrolled scrollbar appears -->
  <div id="overflow">
    <img id="content">
  </div>
</body>
</html>
