<script>
if (window.testRunner) {
  testRunner.dumpAsText();
  testRunner.waitUntilDone();
}
</script>
<iframe src="resources/unload-hyperlink-targeted-subframe.html">
</iframe>
