<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline' 127.0.0.1:8000"/>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
</script>
</head>
<body>
<script>
function finish()
{
    if (window.testRunner)
        testRunner.notifyDone();
}

let context = new OfflineAudioContext(2, 100, 44100);
context.audioWorklet.addModule("http://127.0.0.1:8000/security/contentSecurityPolicy/resources/audioworklet-processor.js").then(() => {
    console.log("PASS: Audio worklet load was allowed by CSP");
    finish();
}, (e) => {
    console.log("FAIL: Load unexpectedly failed with " + e);
    finish();
});
</script>
</body>
</html>
