blob: 017fbb964c720226fad4a998150d4c8c37513b43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<!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>
|