tor-browser

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

longtask-in-sibling-iframe.html (1710B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>LongTask Timing: long task in sibling iframe</title>
      4 <body>
      5 
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 
      9 <script>
     10  async_test(t => {
     11    assert_implements(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
     12    window.addEventListener('message', t.step_func(e => {
     13      assert_equals(e.data['entryType'], 'longtask');
     14      // Ignore any long task that may be produced by the top-level frame.
     15      if (e.data['frame-attribution'] === 'same-origin-ancestor')
     16        return;
     17 
     18      assert_equals(e.data['frame-attribution'], 'same-origin');
     19      assert_equals(e.data['task-attribution'], 'unknown');
     20      assert_equals(e.data['containerType'], 'iframe');
     21      assert_equals(e.data['containerId'], 'longtask-iframe-id');
     22      assert_equals(e.data['containerName'], 'longtask-iframe-name');
     23      assert_equals(e.data['containerSrc'], 'resources/subframe-with-longtask.html');
     24      t.done();
     25    }));
     26    const observingFrame = document.createElement('iframe');
     27    observingFrame.id = 'observing-iframe-id';
     28    observingFrame.name = 'observing-iframe-name';
     29    document.body.appendChild(observingFrame);
     30    observingFrame.src = 'resources/subframe-observing-longtask.html'
     31 
     32    observingFrame.onload = () => {
     33      const longtaskFrame = document.createElement('iframe');
     34      longtaskFrame.id = 'longtask-iframe-id';
     35      longtaskFrame.name = 'longtask-iframe-name';
     36      document.body.appendChild(longtaskFrame);
     37      longtaskFrame.src = 'resources/subframe-with-longtask.html'
     38    };
     39 }, 'Performance longtask entries are observable in sibling iframe.');
     40 </script>
     41 </body>