| <!doctype html> | |
| <html> | |
| <meta charset="utf-8"> | |
| <title>Fetch API: keepalive handling</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/common/get-host-info.sub.js"></script> | |
| <body> | |
| <script> | |
| const host_info = get_host_info(); | |
| promise_test(async (test) => { | |
| const iframe = document.createElement('iframe'); | |
| iframe.src = host_info.HTTP_REMOTE_ORIGIN + | |
| '/fetch/api/resources/keepalive-iframe.html'; | |
| document.body.appendChild(iframe); | |
| const uuid_promise = new Promise((resolve) => { | |
| window.addEventListener('message', (event) => { | |
| resolve(event.data); | |
| }); | |
| }); | |
| await (new Promise((resolve) => iframe.addEventListener('load', resolve))); | |
| const uuid = await uuid_promise; | |
| iframe.remove(); | |
| await (new Promise((resolve) => test.step_timeout(resolve, 1000))); | |
| const response = await fetch(`../resources/stash-take.py?key=${uuid}`); | |
| const json = await response.json(); | |
| assert_equals(json, 'on'); | |
| }); | |
| </script> | |
| </body> | |
| </html> |