tor-browser

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

chrome-bug-1348019.https.html (1435B)


      1 <!DOCTYPE html>
      2 <html>
      3 <link rel="author" href="mailto:caseq@chromium.org">
      4 <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1348019">
      5 <title>Releasing wake locks upon visibility change does not cause crash if an iframe is appended in event listener</title>
      6 <body>
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 <script src="/resources/testdriver.js"></script>
     10 <script src="/resources/testdriver-vendor.js"></script>
     11 <script src="/page-visibility/resources/window_state_context.js"></script>
     12 <script>
     13 'use strict';
     14 
     15 promise_test(async t => {
     16  await test_driver.set_permission({ name: 'screen-wake-lock' }, 'granted');
     17  const { minimize } = window_state_context(t);
     18 
     19  const screenLock = await navigator.wakeLock.request('screen');
     20 
     21  assert_false(screenLock.released, "The released attribute is initially false");
     22 
     23  screenLock.addEventListener('release', () => {
     24    const iframe = document.createElement('iframe');
     25    iframe.src = 'about:blank';
     26    document.body.appendChild(iframe);
     27  });
     28 
     29  const release = new EventWatcher(t, screenLock, 'release').wait_for('release');
     30  await Promise.all([minimize(), release]);
     31  assert_true(screenLock.released, "The released attribute is true after the lock is released");
     32 }, "Appending iframe in release event listener does not cause a crash when page visibility changes");
     33 </script>
     34 </body>
     35 </html>