<html>
<head>
    <style type="text/css" media="screen">
      body {
        height: 2200px;
      }

      .sticky {
        position: -webkit-sticky;
        width: 100%;
        height: 50px;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 128, 0, 0.8);
        border: 2px solid black;
      }
      
    </style>
    <script type="text/javascript" charset="utf-8">
      if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
      }

      function doScroll()
      {
        window.setTimeout(function() {
          window.scrollTo(0, -20);
          if (window.testRunner) {
            document.getElementById('results').innerText = window.internals.scrollingStateTreeAsText();
            testRunner.notifyDone();
          }
        }, 10);
      }
      
      window.addEventListener('load', doScroll, false);
    </script>

    
</head>
<body>

<pre id="results"></pre>

<div class="sticky"></div>

</body>
</html>
