OLD | NEW |
1 <script> | 1 <script> |
2 (function() { | 2 (function() { |
3 | 3 |
4 if (location.hash == "#stop") | 4 if (location.hash == "#stop") |
5 return; | 5 return; |
6 | 6 |
7 if (window.testRunner) { | 7 if (window.testRunner) { |
8 testRunner.dumpAsText(); | 8 testRunner.dumpAsText(); |
9 testRunner.waitUntilDone(); | 9 testRunner.waitUntilDone(); |
10 testRunner.setCanOpenWindows(); | 10 testRunner.setCanOpenWindows(); |
11 testRunner.setCloseRemainingWindowsWhenComplete(true); | 11 testRunner.setCloseRemainingWindowsWhenComplete(true); |
12 } | 12 } |
13 | 13 |
14 blankWindow = open(location + "#stop"); | 14 blankWindow = open(location + "#stop"); |
15 blankWindow.onload = function() { | 15 blankWindow.onload = function() { |
16 blankFunc = blankWindow.Function; | 16 blankFunc = blankWindow.Function; |
17 blankWindow.opener = null; | 17 blankWindow.opener = null; |
18 blankWindow.eval("location = 'about:blank'"); | 18 blankWindow.eval("location = 'about:blank'"); |
19 | 19 |
20 setTimeout(function() { | 20 setTimeout(function() { |
21 blankFunc = blankFunc("return window.Function")(); | 21 try { |
| 22 blankFunc = blankFunc("return window.Function")(); |
| 23 } catch (e) { |
| 24 blankFunc = false; |
| 25 } |
22 if (!blankFunc && window.testRunner) { | 26 if (!blankFunc && window.testRunner) { |
23 testRunner.notifyDone() | 27 testRunner.notifyDone() |
24 return; | 28 return; |
25 } | 29 } |
26 blankFunc("alertFunc", "(" + function() { | 30 blankFunc("alertFunc", "(" + function() { |
27 targetWindow = open("http://localhost:8080/security/resources/post-d
one-to-opener.html"); | 31 targetWindow = open("http://localhost:8080/security/resources/post-d
one-to-opener.html"); |
28 targetFunc = targetWindow.Function; | 32 targetFunc = targetWindow.Function; |
29 this.alertFunc = alertFunc; | 33 this.alertFunc = alertFunc; |
30 | 34 |
31 targetWindow.addEventListener("load", function() { | 35 targetWindow.addEventListener("load", function() { |
32 alertFunc(targetFunc("return document.documentElement.innerHTML"
)()); | 36 alertFunc(targetFunc("return document.documentElement.innerHTML"
)()); |
33 }); | 37 }); |
34 } + ")()")( function(s) { alert(s) }); | 38 } + ")()")( function(s) { alert(s) }); |
35 }, 0); | 39 }, 0); |
36 } | 40 } |
37 | 41 |
38 window.addEventListener('message', function(evt) { | 42 window.addEventListener('message', function(evt) { |
39 if (evt.data == 'done') { | 43 if (evt.data == 'done') { |
40 if (window.testRunner) | 44 if (window.testRunner) |
41 testRunner.notifyDone(); | 45 testRunner.notifyDone(); |
42 } | 46 } |
43 }); | 47 }); |
44 | 48 |
45 })(); | 49 })(); |
46 </script> | 50 </script> |
47 This test passes if it doesn't alert something ugly. | 51 This test passes if it doesn't alert something ugly. |
OLD | NEW |