<html>
<head>
    <script src="resources/cross-frame-access.js"></script>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }

        addEventListener('message', function(e) {
            if (e.data == "test")
                test();
        }, false);

        test = function()
        {
            if (document.implementation.foo == "FAIL")
                log("FAIL: Setting properties on the DOMImplementation leaked cross-frame.");
            else
                log("PASS: Setting properties on the DOMImplementation did not leak cross-frame.");

            if (window.testRunner)
                testRunner.notifyDone();
        }
    </script>
</head>
<body>
    <iframe src="http://localhost:8000/security/resources/cross-frame-iframe-for-DOMImplementation-test.html"></iframe>
    <pre id="console"></pre>
</body>
</html>
