tor-browser

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

shared-storage.https.html (1988B)


      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 <body>
      7 
      8 <script>
      9 
     10 const params = new URLSearchParams(location.search);
     11 
     12 // The main test page (restriction-shared-storage.https.html) loads the initiator page,
     13 // then the initiator page will prerender itself with the `prerendering`
     14 // parameter.
     15 const isPrerendering = params.has('prerendering');
     16 
     17 if (!isPrerendering) {
     18  loadInitiatorPage();
     19 } else {
     20  const prerenderEventCollector = new PrerenderEventCollector();
     21  const test_type = params.get('type');
     22  let add_module_promise = null;
     23  switch (test_type) {
     24    case 'add_module':
     25      add_module_promise = window.sharedStorage.worklet.addModule(
     26        "shared-storage-worklet.js");
     27 
     28      prerenderEventCollector.start(
     29        add_module_promise, 'add_module');
     30      break;
     31    case 'run':
     32      add_module_promise = window.sharedStorage.worklet.addModule(
     33        "shared-storage-worklet.js");
     34      prerenderEventCollector.start(
     35        window.sharedStorage.run("test-prerender"), 'run');
     36      break;
     37    case 'select_url':
     38      add_module_promise = window.sharedStorage.worklet.addModule(
     39        "shared-storage-worklet.js");
     40      // Run the URL selection operation
     41      const fenced_frame_promise = window.sharedStorage.selectURL(
     42        "test-prerender-selection",
     43        [{
     44            url: "/resources/blank.html?a=1"
     45          },
     46          {
     47            url: "/resources/blank.html?a=2"
     48          },
     49        ], {
     50          resolveToConfig: true,
     51        },
     52      );
     53      prerenderEventCollector.start(
     54        fenced_frame_promise, 'select_url');
     55      break;
     56    default:
     57      prerenderEventCollector.start(
     58        window.sharedStorage.set('prerender', 'yes'),
     59        'window.sharedStorage.set');
     60  }
     61 }
     62 </script>
     63 </body>