Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE HTML>
<script>
var t = opener.t;
var do_test = t.step_func(function() {
localStorage.test6564729 += '1';
var d = document;
// This document's unload not triggered here because `document.open` erases
// all of the document's handlers. However the iframe's event handlers (002b)
// will fire. The `beforeunload` event handler will not fire because this is
// not a navigation resulting from a user interaction.
var e = document.open();
localStorage.test6564729 += (e == d) ? '8' : 'X';
var s = 'FAIL if you see this | ' + localStorage.test6564729;
document.write(s);
localStorage.test6564729 += document.body.textContent == s ? '9' : 'x';
document.close();
localStorage.test6564729 += 'Z';
document.body.textContent += ' // ' + localStorage.test6564729;
location = '002a.html'; // unload triggers again here, but they're not registered event listeners any more
});
onload = t.step_func(function() {
localStorage.test6564729 = '0';
setTimeout(function() {document.getElementsByTagName("input")[0].click()}, 100);
});
</script>
<body onbeforeunload="localStorage.test6564729 += '2'"
onpagehide="localStorage.test6564729 += '4'"
onunload="localStorage.test6564729 += '5'">
<input type=button value="Activate this button to run the test" onclick="do_test()">
<p><iframe src="002b.html"></iframe>