<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
    <head>
    <script>
    function test(frame)
    {
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.dumpChildFramesAsText();
            testRunner.waitUntilDone();
        }
        var client = new frame.contentWindow.XMLHttpRequest();
        frame.contentWindow.test(client);
        client.open("GET", "test-uri-resolution.txt");
        client.send("");
    }
    </script>
    </head>
    <body>
        <p><iframe src="resources/uri-resolution-opera-open-006-iframe.html" onload="test(this)"></iframe></p>
    </body>
</html>
