<!-- webkit-test-runner [ UsesBackForwardCache=true ] -->
<!DOCTYPE html>
<html>
  <head>
    <script>
    function runTest(e)
    {
      if (e.persisted) {
        if (window.testRunner)
          testRunner.notifyDone();
      } else
        setTimeout(function() { location.href = 'data:text/html,<script>setTimeout(function() { history.back(); }, 1000);</' + 'script>'; }, 1000);
    }

    if (window.testRunner) {
      testRunner.dumpAsText();
      testRunner.waitUntilDone();
    }
    window.onpageshow = runTest;
    </script>
  </head>
  <body>
    <div>PASS. You didn't crash.</div>
    <iframe id='pluginFrame' src='./resources/subframe-with-plugin.html' width=400 height=200></iframe>
  </body>
</html>
