summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/browsers/browsing-the-web/unloading-documents/support/002-1.html
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>