<script>
if (window.testRunner) {
  testRunner.dumpAsText();
  testRunner.setCanOpenWindows();
  testRunner.waitUntilDone();
}

// This is a test that replaceState called on an inner frame does not modify
// the history state of the top frame.  The test asserts that the inner frame
// remains the inner frame and is not promoted to become the top frame during
// history traversal (on navigating back).

var testWin;

function notifyDone(result) {
  testWin.close();
  delete testWin;

  document.body.innerText = result;

  if (window.testRunner)
    testRunner.notifyDone();
}

function windowLoaded() {
  // Allow load processing to complete before we start navigating again, so
  // that navigating to navigate-back.html creates a new history item.
  setTimeout(function() {
    testWin.frames[0].history.replaceState(null, null);
    testWin.location = "resources/navigate-back.html";
  }, 0);
}

onload = function() {
  testWin = open("resources/replacestate-in-iframe-window.html");
}
</script>
<body>PENDING</body>