tor-browser

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

image-removed-before-load.html (1686B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>Largest Contentful Paint: largest image is reported.</title>
      4 <body>
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="resources/largest-contentful-paint-helpers.js"></script>
      8 <img id="target"/>
      9 <img id="target2"/>
     10 <script>
     11  setup({"hide_test_state": true});
     12  const numInitial = 100;
     13  const sleep = 1000;
     14  const small_img_src = '/images/lcp-16x16.png';
     15  let beforeLoad;
     16  async_test(function (t) {
     17    assert_implements(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
     18    const img_src = '/element-timing/resources/progressive-image.py?name=square20.jpg&numInitial='
     19      + numInitial + '&sleep=' + sleep;
     20    const img1 = document.getElementById('target')
     21    img1.src = img_src;
     22    // After a brief wait, remove the image and add a smaller image to target2.
     23    t.step_timeout(() => {
     24      img1.parentNode.removeChild(img1);
     25      document.getElementById('target2').src = small_img_src;
     26      beforeLoad = performance.now();
     27    }, 0);
     28    new PerformanceObserver(
     29      t.step_func(entryList => {
     30        let images = entryList.getEntries().filter(e => e.id !== '');
     31        if (!images.length)
     32          return;
     33        assert_equals(images.length, 1, 'Should only receive one entry');
     34        const entry = images[0];
     35        checkImage(images[0], window.location.origin + small_img_src, 'target2', 16 * 16,
     36            beforeLoad);
     37        t.done();
     38      })
     39    ).observe({type: 'largest-contentful-paint', buffered: true});
     40  }, 'Largest Contentful Paint: image removed before loaded does not produce entry.');
     41 </script>
     42 </body>