| <script> |
| (function() { |
| |
| if (location.hash == "#stop") |
| return; |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| testRunner.setCanOpenWindows(); |
| testRunner.setCloseRemainingWindowsWhenComplete(true); |
| } |
| |
| blankWindow = open(location + "#stop"); |
| blankWindow.onload = function() { |
| blankFunc = blankWindow.Function; |
| blankWindow.opener = null; |
| blankWindow.eval("location = 'about:blank'"); |
| |
| setTimeout(function() { |
| blankFunc = blankFunc("return window.Function")(); |
| if (!blankFunc && window.testRunner) { |
| testRunner.notifyDone() |
| return; |
| } |
| blankFunc("alertFunc", "(" + function() { |
| targetWindow = open("http://localhost:8080/security/resources/post-done-to-opener.html"); |
| targetFunc = targetWindow.Function; |
| this.alertFunc = alertFunc; |
| |
| targetWindow.addEventListener("load", function() { |
| alertFunc(targetFunc("return document.documentElement.innerHTML")()); |
| }); |
| } + ")()")( function(s) { alert(s) }); |
| }, 0); |
| } |
| |
| window.addEventListener('message', function(evt) { |
| if (evt.data == 'done') { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| }); |
| |
| })(); |
| </script> |
| This test passes if it doesn't alert something ugly. |