<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    function log(s)
    {
        document.getElementById('console').appendChild(document.createTextNode(s + "\n"));
    }

    function done()
    {
        // Call the method injected by resources/dom-access-from-closure-iframe-child.html
        accessFrame();

        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
<pre id="console"></pre>
<iframe src="resources/dom-access-from-closure-iframe-child.html" name="child"></iframe>
