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>