<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script>
      function runTest()
      {
          if (window.internals)
              internals.settings.setScrollAnimatorEnabled(false);
          frames[0].focus();
          if (window.eventSender) {
              window.eventSender.keyDown("pageDown");
          }
      }
  </script>
</head>
  <body onload="runTest()">
    If running this test manually put focus inside the iframe and hit 'page down'.
    <iframe style="width:500px; height:500px" src="resources/fixed-move-after-keyboard-scroll-iframe.html"></iframe>
  </body>
</html>
