<!DOCTYPE html>
<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
function runTest() {
    // Schedule a return to the main event loop so that the javascript: URL
    // has a chance to run.
    setTimeout(done, 0);
    window.open("javascript:alert('FAIL')", "tg");
}
function done() {
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</head>
<body>
This test passes if there is no alert dialog.<br>
<iframe onload="runTest()" name="tg"
        src="http://localhost:8080/security/resources/innocent-victim.html"
    ></iframe> 
</body>
</html>
