<script>
onunload = function() {
  // disable page cache
}

onpopstate = function() {
  var topWin = top;
  // Verify that we are still in an iframe
  if (topWin == window) {
    topWin.document.body.innerHTML = "FAIL";
  } else {
    topWin.document.body.innerHTML = "PASS";
  }
  if (topWin.testRunner)
    topWin.testRunner.notifyDone();
}

onload = function() {
  history.pushState(null, null);
  history.pushState(null, null);
  setTimeout(function() { history.back() }, 0);
}
</script>
