<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    testRunner.setCanOpenWindows(true);
    testRunner.setCloseRemainingWindowsWhenComplete(true);
}
</script>
<p>To run this test outside of DumpRenderTree, please disable your popup blocker!</p>
<p>If you change this test, please be sure to change popup-allowed-by-sandbox-is-sandboxed.html as well!</p>
<iframe sandbox="allow-scripts allow-popups allow-forms"
  src="data:text/html,
       <script>
       var win = window.open('data:text/html,<form action=javascript:alert(/PASS/) ><input type=submit></form><script>document.forms[0].submit(); if (window.testRunner) testRunner.notifyDone();<\/script>', '_blank');
       </script>"
  ></iframe>
