blob: bb5a9974cc80c75fb35bd170c130dcaaf8d85300 [file] [log] [blame]
This page should go back. If a test outputs the contents of this
page, then the test page failed to enter the page cache.
<script>
var channel = new BroadcastChannel('shared-worker');
async function doTest(counter)
{
if (!counter)
counter = 0;
else if (counter >= 100)
return;
channel.postMessage('ping');
await new Promise((resolve, reject) => {
let myTimer = setTimeout(resolve, 1000);
channel.onmessage = async () => {
clearTimeout(myTimer);
// We received a message from shared worker, let's call doTest to retry.
await new Promise(resolve => setTimeout(resolve, 50));
doTest(++counter).then(resolve, reject);
};
});
const sw2 = new SharedWorker('shared-worker-script.js?2');
sw2.port.postMessage({ action: 'setState', state: 'hungry' });
await new Promise(resolve => sw2.port.onmessage = resolve);
}
window.addEventListener("load", async () => {
await doTest();
history.back();
}, false);
</script>