<html>
<body>
<p>Test opera W3C test suite(http://w3c-test.org/webappsec/tests/cors/submitted/opera/staging/redirect-origin.htm) test case 13 for redirection.<br>
Request URL origin is not same origin with the original URL origin. Final response contains "Access-Control-Allow-Origin: null". Should print PASS.</p>
<div id="log"></div>
<script>
function log(message) {
    document.getElementById("log").innerHTML += message + "<br>";
}

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://localhost:8080/xmlhttprequest/resources/redirect-cors-origin-null.py");
xhr.onerror = function () {
    log("FAIL");
    if (window.layoutTestController)
        layoutTestController.notifyDone();
};
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
        log(xhr.responseText);
        if (window.testRunner)
            testRunner.notifyDone();
    }
};
xhr.send();

</script>
</html>
