tor-browser

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

observe-empty-attribute.html (1610B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>Element Timing: observe with empty elementtiming attribute</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="resources/element-timing-helpers.js"></script>
      7 <script>
      8 let beforeRender;
      9 async_test(function (t) {
     10  assert_implements(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented");
     11  let observedImage = false;
     12  let observedText = false;
     13  const observer = new PerformanceObserver(
     14    t.step_func(function(entryList) {
     15      entryList.getEntries().forEach(entry => {
     16        if (entry.name === 'image-paint') {
     17          assert_false(observedImage, 'Image should only be observed once.');
     18          const pathname = window.location.origin + '/element-timing/resources/square20.png';
     19          checkElement(entry, pathname, '', 'square', beforeRender,
     20              document.getElementById('square'));
     21          checkNaturalSize(entry, 20, 20);
     22          observedImage = true;
     23        } else {
     24          assert_false(observedText, 'Text should only be observed once.');
     25          checkTextElement(entry, '', 'text', beforeRender, document.getElementById('text'));
     26          observedText = true;
     27        }
     28      });
     29      if (observedImage && observedText)
     30        t.done();
     31    })
     32  );
     33  observer.observe({type: 'element', buffered: true});
     34  beforeRender = performance.now();
     35 }, "Able to observe image and text with empty elementtiming attribute.");
     36 </script>
     37 <img id='square' src='resources/square20.png' elementtiming/>
     38 <p id='text' elementtiming>Text!</p>