<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script>
if (window.testRunner)
    testRunner.waitUntilDone();
</script>
</head>
<body>
<p>This tests that a blob-URL JavaScript script fails to load because it does not match Content Security Policy <code>script-src 'self'</code>.</p>
<pre id="console"></pre>
<script>
function log(message)
{
    document.getElementById("console").appendChild(document.createTextNode(message + "\n"));
}

function done()
{
    if (window.testRunner)
        testRunner.notifyDone();
}

var script = document.createElement("script");
script.onload = function () {
    log("FAIL should not have fired load event for blob-URL script.");
    done();
}
script.onerror = function () {
    log("PASS fired error event for blob-URL script.");
    done();
}
script.src = window.URL.createObjectURL(new Blob(["log('FAIL should not have executed blob-URL script.');"]));
document.head.appendChild(script);
</script>
</body>
</html>
