Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE html>
<meta charset="utf-8">
<title>Support page for beforeunload-canceling.html</title>
<h1>If this goes away, it navigated</h1>
<script>
"use strict";
window.runTest = (t, { valueToReturn, expectCancelation, setReturnValue, expectedReturnValue, cancel }) => {
window.onbeforeunload = t.step_func(e => {
if (cancel) {
e.preventDefault();
}
if (setReturnValue !== undefined) {
e.returnValue = setReturnValue;
}
return valueToReturn;
});
const listener = t.step_func(e => {
top.assert_equals(e.defaultPrevented, expectCancelation, "canceled");
top.assert_equals(e.returnValue, expectedReturnValue, "returnValue");
window.onbeforeunload = null;
t.done();
});
window.addEventListener("beforeunload", listener);
window.location.href = "about:blank";
};
</script>