28 lines
1 KiB
HTML
28 lines
1 KiB
HTML
|
|
<!DOCTYPE html>
|
||
|
|
<script src="../include.js"></script>
|
||
|
|
<script>
|
||
|
|
asyncTest(async (done) => {
|
||
|
|
internals.setTestTimeout(5000);
|
||
|
|
|
||
|
|
const httpServer = httpTestServer();
|
||
|
|
const scriptPrefix = `<!DOCTYPE html><body><div id="target">before</div><script>${" ".repeat(1700)}`;
|
||
|
|
const body = `${scriptPrefix}window.onload = () => parent.postMessage(document.getElementById("target").textContent, "*"); document.getElementById("target").textContent = "ran";<\/script><div>after</div>`;
|
||
|
|
const url = await httpServer.createEcho("GET", "/parser-streams-script-split", {
|
||
|
|
status: 200,
|
||
|
|
headers: {
|
||
|
|
"Content-Type": "text/html",
|
||
|
|
},
|
||
|
|
body,
|
||
|
|
});
|
||
|
|
|
||
|
|
const frame = document.createElement("iframe");
|
||
|
|
window.addEventListener("message", event => {
|
||
|
|
println(event.data);
|
||
|
|
done();
|
||
|
|
}, { once: true });
|
||
|
|
|
||
|
|
frame.src = `${url}?chunks=${scriptPrefix.length}&chunk_delay_ms=100`;
|
||
|
|
document.body.appendChild(frame);
|
||
|
|
});
|
||
|
|
</script>
|