Index: LayoutTests/http/tests/serviceworker/fetch-csp.html |
diff --git a/LayoutTests/http/tests/serviceworker/fetch-csp.html b/LayoutTests/http/tests/serviceworker/fetch-csp.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..55d75b8a7f1059b192bebc89a90601af3ce22034 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/fetch-csp.html |
@@ -0,0 +1,49 @@ |
+<!DOCTYPE html> |
+<title>Service Worker: CSP test of fetch()</title> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script src="resources/test-helpers.js"></script> |
+<script> |
+var test = async_test('Verify CSP test of fetch() in a Service Worker'); |
+test.step(function() { |
+ window.addEventListener('message', onMessage, false); |
+ var scope = 'resources/fetch-csp-iframe.html'; |
+ service_worker_unregister_and_register( |
+ test, 'resources/fetch-csp-worker.js', scope).then(test.step_func(onRegister)); |
+ var kIframeUrl = 'http://127.0.0.1:8000/serviceworker/resources/fetch-csp-iframe.html'; |
+ |
+ function onRegister(worker) { |
+ worker.addEventListener('statechange', test.step_func(onStateChange)); |
+ var messageChannel = new MessageChannel(); |
+ messageChannel.port1.onmessage = onWorkerMessage; |
+ worker.postMessage({port: messageChannel.port2}, [messageChannel.port2]); |
+ } |
+ |
+ function onWorkerMessage(e) { |
+ var message = e.data; |
+ console.log(message); |
+ } |
+ function onMessage(e) { |
+ var message = e.data; |
+ console.log(message); |
+ } |
+ var frameWindow = {}; |
+ function loadNext() { |
+ // console.log(testTargets[jsonpResultCount][0]); |
+ frameWindow.postMessage( |
+ {url: ''}, |
+ kIframeUrl); |
+ service_worker_unregister_and_done(test, scope); |
+ } |
+ |
+ function onStateChange(event) { |
+ if (event.target.state != 'active') |
+ return; |
+ with_iframe('resources/fetch-csp-iframe.html') |
+ .then(function(frame) { |
+ frameWindow = frame.contentWindow; |
+ loadNext(); |
+ }); |
+ } |
+}); |
+</script> |