<body>
<p>This test passes if the script loads correctly.</p>
<pre></pre>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function done(msg) {
    document.querySelector("pre").innerHTML = msg;
    if (window.testRunner)
        testRunner.notifyDone();
}

var script = document.createElement("script");
script.crossOrigin = "";
script.src = "http://localhost:8000/security/resources/cors-script.php";
script.onload = function() { done("PASS"); }
script.onerror = function() { done("FAIL");}
document.body.appendChild(script);
</script>
