blob: 76f5a20f727fc837f6060b5cd121ed67e29f5c87 [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<meta http-equiv="content-security-policy" content="connect-src 'self'">
<script>
// External URLs inherit policy.
fetch_tests_from_worker(new Worker("./support/connect-src-self.sub.js"));
fetch_tests_from_worker(new Worker("./support/connect-src-self.sub.js?pipe=sub|header(Content-Security-Policy,connect-src 'none')"));
fetch_tests_from_worker(new Worker("./support/connect-src-self.sub.js?pipe=sub|header(Content-Security-Policy,connect-src *)"));
fetch_tests_from_worker(new Worker("./support/connect-src-self.sub.js?pipe=sub|header(Content-Security-Policy,default-src 'none')"));
fetch_tests_from_worker(new Worker("./support/connect-src-self.sub.js?pipe=sub|header(Content-Security-Policy,default-src *)"));
async_test(t => {
fetch("./support/connect-src-self.sub.js")
.then(r => r.blob())
.then(b => {
// 'blob:' URLs inherit policy.
var u = URL.createObjectURL(b);
fetch_tests_from_worker(new Worker(u));
if (!window.webkitRequestFileSystem)
return t.done();
// 'filesystem:' urls inherit policy.
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, fs => {
fs.root.getFile('dedicated-inheritance-worker.js', { create: true }, entry => {
entry.createWriter(w => {
w.onwriteend = _ => {
var u = entry.toURL();
fetch_tests_from_worker(new Worker(u));
// explicit_done: yay.
t.done();
};
w.onerror = _ => t.unreached_func();
w.write(b);
});
});
});
});
}, "Filesystem and blob.");
</script>