<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 = "use-credentials";
// We are serving the test from the filesystem and file URLs are granted universal access.
// This bypasses CORS checks and will allow access to 127.0.0.1:8000.
script.src = "http://localhost:8000/security/resources/cors-script.php?credentials=true";
script.onload = function() { done("PASS"); }
script.onerror = function() { done("FAIL");}
document.body.appendChild(script);
</script>
