tor-browser

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

file_reframe_for_lazy_load_image.html (1136B)


      1 <!doctype html>
      2 <meta charset="utf-8">
      3 <title>
      4  Test for bug 1612649: We don't reframe for lazy load image state changes.
      5 </title>
      6 <div id="spacer" style="height: calc(100vh + 100px);"></div>
      7 <img id="image" loading="lazy" width="20" height="20" alt="this is an image"
      8     src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAAG0lEQVR42mP8z0A%2BYKJA76jmUc2jmkc1U0EzACKcASfOgGoMAAAAAElFTkSuQmCC">
      9 <script>
     10 const is = opener.is.bind(opener);
     11 const add_task = opener.add_task;
     12 const original_finish = opener.SimpleTest.finish;
     13 const SimpleTest = opener.SimpleTest;
     14 SimpleTest.finish = function finish() {
     15  self.close();
     16  original_finish();
     17 }
     18 
     19 const utils = SpecialPowers.DOMWindowUtils;
     20 
     21 add_task(async () => {
     22  await SimpleTest.promiseFocus();
     23 
     24  const previousConstructCount = utils.framesConstructed;
     25 
     26  const loadPromise = image.complete
     27    ? null
     28    : new Promise(resolve => image.addEventListener("load", resolve));
     29 
     30  image.scrollIntoView();
     31 
     32  await loadPromise;
     33 
     34  image.getBoundingClientRect();
     35 
     36  is(previousConstructCount, utils.framesConstructed,
     37     "We should not have reframed");
     38 });
     39 </script>