tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

wake-lock.https.html (1366B)


      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-wake-lock.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    navigator.wakeLock.request('screen')
     21      .then(() => {
     22        reject('unexpected success');
     23      })
     24      .catch((e) => {
     25        prerenderEventCollector.addEvent('navigator.wakeLock.request failed');
     26      });
     27 
     28    document.addEventListener('prerenderingchange', () => {
     29      prerenderEventCollector.addEvent(
     30        'requesting navigator.wakeLock.request on prerendering change');
     31      navigator.wakeLock.request('screen')
     32        .then(function() {
     33          lock => lock.release(); resolve();
     34        });
     35    });
     36  });
     37  prerenderEventCollector.start(promise, 'navigator.wakeLock.request test');
     38 }
     39 
     40 </script>