<script>
addEventListener("unload", function() {
  window.location.reload();
}, false);
</script>
<script>
if (window.layoutTestController) {
  layoutTestController.dumpAsText();
  layoutTestController.waitUntilDone();
}
window.location = "resources/pass-and-notify-done.html";
</script>
