chromium/third_party/blink/web_tests/external/wpt/html/browsers/history/the-history-interface/non-automated/traverse_the_history_unload_prompt_1-1.html

<!doctype html>
<script src="history.js"></script>
<script>
  onbeforeunload = function() {opener.beforeunload_ran = true; return "Opt to stay on the page"};

  opener.pages.push(id);
  if (!opener.started) {
    onload = function() {
      setTimeout(function() {
        opener.started = true;
        history.back();
      }, 100);
    }
  }
</script>
<p>You should see/have seen a prompt asking if you want to leave the page.</p>
<p>Opt to stay on the page</p>
<button onclick="onbeforeunload = null; opener.start_test_wait(); document.getElementsByTagName('button')[0].disabled = true;">Click here</button>