<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<p>This test verifies that a sandboxed IFrame can close a top-level frame
with allow-top-navigation.</p>
<button onclick="start()">Start Test</button>
<script>
function start() {
    window.wnd = window.open("resources/sandboxed-iframe-close-top-does-close.html");
}

function done() {
    alert("PASS");
    // We end the test asynchronously becaues this function is being called
    // from a strange callstack.
    window.setTimeout(function () {
        if (window.testRunner)
            testRunner.notifyDone();
    }, 0);
}

// In LayoutTests mode we can start automagically.
start();
</script>
</body>
</html>
