web-locks.html (1025B)
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-web-locks.html) loads the initiator page, 11 // then the initiator page will prerender itself with the `prerendering` 12 // parameter. 13 const isPrerendering = params.has('prerendering'); 14 15 if (!isPrerendering) { 16 loadInitiatorPage(); 17 } else { 18 const method = params.get('method'); 19 const prerenderEventCollector = new PrerenderEventCollector(); 20 let promise; 21 switch(method) { 22 case 'request': 23 promise = navigator.locks.request('prerender-test-lock', lock => {}); 24 break; 25 case 'query': 26 promise = navigator.locks.query(); 27 break; 28 } 29 prerenderEventCollector.start(promise, `navigator.locks.${method}`); 30 } 31 32 </script>