| <!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> |
| // The filesystem test takes some nesting to setup: |
| setup({explicit_done: true}); |
| |
| // External URLs inherit policy. |
| fetch_tests_from_worker(new Worker("/security/contentSecurityPolicy/workers/resources/connect-src-self.js")); |
| |
| fetch("/security/contentSecurityPolicy/workers/resources/connect-src-self.js") |
| .then(r => r.blob()) |
| .then(b => { |
| // 'blob:' URLs inherit policy. |
| var u = URL.createObjectURL(b); |
| fetch_tests_from_worker(new Worker(u)); |
| |
| // 'filesystem:' URLs inherit policy. |
| window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, fs => { |
| fs.root.getFile('worker.js', { create: true }, entry => { |
| entry.createWriter(w => { |
| w.onwriteend = _ => { |
| var u = entry.toURL(); |
| fetch_tests_from_worker(new Worker(u)); |
| |
| // explicit_done: yay. |
| done(); |
| }; |
| w.onerror = _ => {assert_unreached() }; |
| w.write(b); |
| }); |
| }); |
| }); |
| }); |
| </script> |