Bug 1879774 [wpt PR 44524] - WebKit export: Implement field-sizing support for input...
[gecko.git] / layout / generic / test / file_reframe_for_lazy_load_image.html
blob900f2123415c0a7e9d3a395c02eb92047c56c881
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();
19 const utils = SpecialPowers.DOMWindowUtils;
21 add_task(async () => {
22 await SimpleTest.promiseFocus();
24 const previousConstructCount = utils.framesConstructed;
26 const loadPromise = image.complete
27 ? null
28 : new Promise(resolve => image.addEventListener("load", resolve));
30 image.scrollIntoView();
32 await loadPromise;
34 image.getBoundingClientRect();
36 is(previousConstructCount, utils.framesConstructed,
37 "We should not have reframed");
38 });
39 </script>