diff options
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.html | 25 |
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> |