tor-browser

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

abort.tentative.https.html (2226B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <meta name="timeout" content="long">
      4 <title>Web Locks API: bfcache</title>
      5 <link rel=help href="https://w3c.github.io/web-locks/">
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 <script src="/common/utils.js"></script>
      9 <script src="/common/dispatcher/dispatcher.js"></script>
     10 <script src="/html/browsers/browsing-the-web/back-forward-cache/resources/helper.sub.js"></script>
     11 <script type="module">
     12  import { runWebLocksBfcacheTest } from "./helpers.js";
     13 
     14  runWebLocksBfcacheTest({
     15    funcBeforeNavigation: async () => {
     16      const controller = new AbortController();
     17      const promise = navigator.locks.request(
     18        uniqueNameByQuery(),
     19        { signal: controller.signal },
     20        () => new Promise(() => { })
     21      );
     22      controller.abort();
     23      await promise.catch(() => { });
     24    },
     25    shouldBeCached: true
     26  }, "An immediately aborted lock on main thread should not prevent bfcache");
     27 
     28  runWebLocksBfcacheTest({
     29    funcBeforeNavigation: async () => {
     30      window.worker = new Worker("/web-locks/resources/worker.js");
     31      await postToWorkerAndWait(worker, {
     32        op: "request",
     33        name: uniqueNameByQuery(),
     34        abortImmediately: true
     35      });
     36    },
     37    shouldBeCached: true
     38  }, "An immediately aborted lock on a worker should not prevent bfcache");
     39 
     40  runWebLocksBfcacheTest({
     41    funcBeforeNavigation: async () => {
     42      window.worker = new Worker("/web-locks/resources/parentworker.js");
     43      await postToWorkerAndWait(worker, {
     44        op: "request",
     45        name: uniqueNameByQuery(),
     46        abortImmediately: true
     47      });
     48    },
     49    shouldBeCached: true
     50  }, "An immediately aborted lock on a nested worker should not prevent bfcache");
     51 
     52  runWebLocksBfcacheTest({
     53    funcBeforeNavigation: async () => {
     54      window.worker = new SharedWorker("/web-locks/resources/worker.js");
     55      worker.port.start();
     56      await postToWorkerAndWait(worker.port, {
     57        op: "request",
     58        name: uniqueNameByQuery(),
     59        abortImmediately: true
     60      });
     61    },
     62    shouldBeCached: true
     63  }, "An immediately aborted lock on a shared worker should not prevent bfcache");
     64 </script>