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>
|