<!DOCTYPE html>
<html>

<head>
    <style>
        body {
            margin: 0;
            height: 2500px;
        }

        .box {
          height: 100px;
          width: 100px;
        }

        .fixed {
            position: fixed;
            left: 0px;
            top: 0px;
        }

        .wrapper {
          position: absolute;
          background-color: green;
        }
        
    </style>
    <script>
      if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
      }

      function doScroll()
      {
        window.setTimeout(function() {
          window.scrollTo(0, 200);
          if (window.internals) {
            document.getElementById('results').innerText = internals.scrollingStateTreeAsText();
            testRunner.notifyDone();
          }
        }, 10);
      }
      
      window.addEventListener('load', doScroll, false);
    </script>
</head>
<body>
  <pre id="results"></pre>
  <div class="fixed">
    <div class="wrapper box">
    </div>
  </div>
</body>
</html>
