summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/sizes/sizes-auto-rendering-dynamic.html
blob: 901c6f2e096c2c60a649a9b3835be59fe09463aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!doctype html>
<html class="reftest-wait">
<title>Auto sizes dynamic rendering</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/images.html#sizes-attributes">
<link rel="match" href="reference/sizes-auto-rendering-ref.html">
<script src="/common/rendering-utils.js"></script>
<script src="/common/reftest-wait.js"></script>
<img
  id="testImg"
  loading="lazy"
  sizes="auto"
  width="1"
  height="13"
>
<script>
  function secondImageLoaded() {
    waitForAtLeastOneFrame().then(takeScreenshot);
  }

  function firstImageLoaded() {
    const expected = 'red.png';
    if (!testImg.currentSrc.endsWith('red.png')) {
        const fail_msg = `FAIL: currentSrc is ${testImg.currentSrc}, expected ${expected}.`;
        document.body.textContent = fail_msg;
        takeScreenshot();
    }

    testImg.addEventListener('load', secondImageLoaded);
    testImg.style.width = '33px';
  }

  testImg.addEventListener('load', firstImageLoaded, {once: true});
  testImg.setAttribute('srcset', `
    /images/fail.gif 1000w,
    /images/green.png 100w,
    /images/red.png 10w
  `);
</script>