<html>
<body>

<script>
  function receiveMessage(event){
    if (event.data == "done") {
      // Modify the form so it will POST as usual.
      form = document.getElementById("testform");
      form.action = "done.html";
      form.target = "";

      // Remove the password field so Password Manager will ignore the form.
      form.removeChild(document.getElementById("password_field"));

      // Submit the form.
      document.getElementById("testform").submit();
    }
  }
  window.addEventListener("message", receiveMessage, false);
</script>

<form method="POST" action="done_redirect_parent.html" id="testform" target="iframe">
  <input type="text" id="username_field" name="username_field">
  <input type="password" id="password_field" name="password_field">
  <input type="submit" id="input_submit_button" name="input_submit_button">
</form>

<iframe name="iframe" src="about:blank"></iframe>

</body>
</html>
