<!DOCTYPE html>

<html>
<head>
    <style>
      body {
        height: 2200px;
      }
      
      .fixed {
        position: fixed;
        top: 0;
        left: 0;
        margin: 10px;
        height: 50px;
        background-color: rgba(0, 128, 0, 0.8);
        border: 2px solid black;
        -webkit-box-shadow: 0 0 10px black;
      }
      
      .top {
        width: 96%;
      }
      
    </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="fixed top">
  This is the top bar.
</div>

</body>
</html>
