<!-- webkit-test-runner [ UsesBackForwardCache=true ] -->
<!DOCTYPE html>
<html>
<head>
  <script src="../../../resources/js-test-pre.js"></script>
  <style>
    body {
      height: 2000px;
    }
  </style>
</head>
<body>
<p id="description"></p>
<div id="console"></div>

<script>
description('Tests that scroll event listeners still work after going back to a page in the page cache.');

function testScrollListener(message)
{
  window.scrollBy(0, 10);
}

var scrollEventCount = 0;
window.addEventListener('scroll', function(e) {
  ++scrollEventCount;
}, false);

var pageShowCount = 0;
function onPageShow()
{
  debug('pageshow ' + pageShowCount);
  if (++pageShowCount == 2) {
    setTimeout(function() {
      debug('delayed until after pageshow');
      testScrollListener('After going back');
      window.setTimeout(function() {
        shouldBe('scrollEventCount', '1');
        finishJSTest();
      }, 10);
    }, 10);
  }
}

function onPageLoad()
{
    // Navigate in a timeout to make sure we create a history entry.
    setTimeout(function() {
      window.location.href = 'resources/jump-back.html';
    }, 0);
};

window.addEventListener('load', onPageLoad, false);
window.addEventListener('pageshow', onPageShow, false);

var successfullyParsed = true;
var jsTestIsAsync = true;
</script> 

<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
