[Release] Webkit-EFL Ver. 2.0_beta_118996_0.6.22
[framework/web/webkit-efl.git] / LayoutTests / fast / events / before-unload-remove-itself.html
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <p>This test ensures a beforeunload event handler can safely remove the frame to which the event is fired. You should see PASS below:</p>
5 <pre id="log"></pre>
6 <script>
7
8 if (window.layoutTestController) {
9     layoutTestController.dumpAsText();
10     layoutTestController.dumpChildFramesAsText();
11     layoutTestController.waitUntilDone();
12 }
13
14 var log = document.getElementById('log');
15 var done = false;
16
17 function test() {
18     if (done) {
19         // log's not having any content implies that load event was dispatched for the second time before beforeunload is dispatched.
20         if (!log.innerHTML.length)
21             log.innerHTML = 'FAIL: beforeunload event was never dispatched.\n';
22         else
23             log.innerHTML = 'FAIL: beforeunload event handler did not remove the frame.\n';
24         if (window.layoutTestController)
25             layoutTestController.notifyDone();
26         return;
27     }
28     done = true;
29     document.getElementsByTagName('iframe')[0].contentWindow.location.href = 'resources/before-unload-in-subframe-child.html';
30 }
31
32 function fired() {
33     document.body.removeChild(document.body.getElementsByTagName('iframe')[0]);
34     log.innerHTML = 'PASS\n';
35     if (window.layoutTestController)
36         layoutTestController.notifyDone();
37 }
38
39 </script>
40 <iframe onload="test()" src="resources/before-unload-in-subframe-child.html"></iframe>
41 </body>
42 </html>