dedicated-worker.https.html (1113B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="/speculation-rules/prerender/resources/utils.js"></script> 5 <script src="/speculation-rules/prerender/resources/deferred-promise-utils.js"></script> 6 <script> 7 8 const params = new URLSearchParams(location.search); 9 10 // The main test page (restriction-dedicated-worker.https.html) loads the 11 // initiator page, then the initiator page will prerender itself with the 12 // `prerendering` parameter. 13 const isPrerendering = params.has('prerendering'); 14 15 if (!isPrerendering) { 16 loadInitiatorPage(); 17 } else { 18 const prerenderEventCollector = new PrerenderEventCollector(); 19 const promise = new Promise((resolve, reject) => { 20 try { 21 const worker = new Worker('dedicated-worker.js'); 22 worker.addEventListener('message', _ => resolve()); 23 worker.addEventListener('error', _ => reject('Error on worker')); 24 } catch (e) { 25 reject(`Worker construction error: ${e.toString()}`); 26 } 27 }); 28 prerenderEventCollector.start(promise, 'worker construction'); 29 } 30 31 </script>