<html>
<meta http-equiv="refresh" content="2">
<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    function testScroll() {
      window.setTimeout(function() {
          if (window.pageYOffset == 20) {
            document.body.innerHTML = "SUCCESS";
            testRunner.notifyDone();
          } else
            window.scroll(0,20);
        }, 0);
    }
    onload = testScroll;
</script>

<body>
This test checks that a page reloaded by http-equiv="refresh" restores its scroll state.
https://bugs.webkit.org/show_bug.cgi?id=62482
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
