<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width">

  <style>
    body {
      margin: 0;
      -webkit-overflow-scrolling: touch;
    }

    .scroller {
      width: 300px;
      height: 320px;
      overflow: scroll;
      padding: 10px;
    }

    .column {
      position: relative;
      width: 280px;
      height: 1200px;
      background: silver;
      border: 2px solid blue;
      z-index: 0;
    }
  </style>
  <script>
    if (window.testRunner)
      testRunner.dumpAsText();
    if (window.internals)
      window.internals.settings.setAcceleratedCompositingForOverflowScrollEnabled(true);

    window.addEventListener('load', function() {
      if (window.testRunner)
        document.getElementById('layers').innerHTML = window.internals.layerTreeAsText(document);
    }, true);
  </script>
</head>

<body>
  <div class="scroller">
    <div class="column">
    </div>
  </div>
  <pre id="layers">Layer tree goes here in DRT</pre>
</body>
</html>
