<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        function log(msg)
        {
            document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
        }
    </script>
</head>
<body>
    <p>This tests that window.closed on a closed window, or window without a frame, does not crash the browser. See rdar://problem/5329841</p>
    <pre id="console"></pre>
    <iframe id="anIframe"></iframe>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        var win = window.frames[0];
        document.body.removeChild(document.getElementById('anIframe'));

        var c = win.closed;
        log("Passed!");
    </script>
</body>
</html>
