Index: third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/workers/dedicated-inheritance.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/workers/dedicated-inheritance.html b/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/workers/dedicated-inheritance.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6d5f056bb26b288df4121e051a5507fb099d5a00 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/workers/dedicated-inheritance.html |
@@ -0,0 +1,37 @@ |
+<!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> |