summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/fetch-event-redirect-iframe.html
blob: 7548d8af7d6014f24ec928d905686107bf8c361c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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>