summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html')
-rw-r--r--testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html25
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html
new file mode 100644
index 000000000..7548d8af7
--- /dev/null
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html
@@ -0,0 +1,25 @@
+<script>
+window.addEventListener('message', function(evt) {
+ var port = evt.ports[0];
+ var data = evt.data;
+ fetch(new Request(data.url, data.request_init)).then(function(response) {
+ if (data.request_init.mode === 'no-cors' && data.redirect_dest != 'same-origin') {
+ if (response.type === data.expected_type &&
+ (response.type === 'opaque' || response.type === 'opaqueredirect') &&
+ response.redirected === data.expected_redirected) {
+ return {result: 'success', detail: ''};
+ } else {
+ return {result: 'failure',
+ detail: 'expected type ' + data.expected_type +
+ ', expected redirected ' + data.expected_redirected +
+ ' response'};
+ }
+ }
+ return response.json();
+ }).then(function(body) {
+ port.postMessage({result: body.result, detail: body.detail});
+ }).catch(function(e) {
+ port.postMessage({result: 'reject', detail: e.toString()});
+ });
+});
+</script>