tor-browser

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

prefetch-transfer-size-iframe.html (1464B)


      1 <!DOCTYPE html>
      2 <html>
      3 
      4 <head>
      5  <title>Navigation Timing Transfert Size of Prefetched Page</title>
      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 </head>
     11 
     12 <body>
     13  <script>
     14    function add_iframe(url) {
     15      return new Promise(resolve => {
     16        const frame = document.createElement('iframe');
     17        frame.src = url;
     18        frame.addEventListener('load', () => {
     19          resolve(frame);
     20        }, { once: true });
     21        document.body.appendChild(frame);
     22      });
     23    };
     24 
     25    promise_test(async t => {
     26      // Add an iframe
     27      let iframe_url = 'resources/iframe-prefetch-transfer-size.html';
     28      frame = await add_iframe(iframe_url)
     29 
     30      // Prefetch a url as link element.
     31      await frame.contentWindow.addLink();
     32 
     33      // navigate to the prefetched url.
     34      await new Promise(resolve => {
     35        frame.addEventListener('load', () => {
     36          resolve();
     37        }, { once: true });
     38        frame.contentWindow.navigateToPrefetchedUrl();
     39      });
     40 
     41      // Verify navigation timing transfer size is 0.;
     42      let transferSize =
     43        frame.contentWindow.performance.getEntriesByType('navigation')[0].transferSize;
     44 
     45      assert_equals(transferSize, 0);
     46 
     47    }, "Navigation timing transfer size for a prefetched navigation should be 0.");
     48  </script>
     49 </body>
     50 
     51 </html>