-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement auto sizes for lazy-loaded img
Auto Sizes allows developers to omit the sizes attribute (or set it to sizes=auto) for lazy loaded image elements with srcset. For this use case the image's width should be provided. The browser will use the layout width of the image in order to select the source url from the srcset. Spec PR: whatwg/html#8008 WPT tests PR: #34427 Chrome Platform Status link: https://chromestatus.com/feature/5191555708616704 Intent to Prototype link: https://groups.google.com/a/chromium.org/g/blink-dev/c/AYoqvNluyeA R=pdr Bug: 1359051 Low-Coverage-Reason: For html_srcset_parser.cc, it should be covered by `image-srcset-cache.html` but there seems to be cov reporing problem. Change-Id: I8e9bc836e9582a9209db53d55e0edc96f90499f2
- Loading branch information
1 parent
dcf2cd7
commit 20608d7
Showing
6 changed files
with
132 additions
and
4 deletions.
There are no files selected for viewing
8 changes: 8 additions & 0 deletions
8
.../semantics/embedded-content/the-img-element/sizes/reference/sizes-auto-rendering-ref.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<!doctype html> | ||
<title>Auto sizes rendering</title> | ||
<link rel="help" href="https://html.spec.whatwg.org/multipage/images.html#sizes-attributes"> | ||
<meta name="assert" content="auto sizes rendering"> | ||
<img | ||
src="/images/green.png" | ||
width="100px" | ||
> |
25 changes: 25 additions & 0 deletions
25
html/semantics/embedded-content/the-img-element/sizes/sizes-auto-rendering-2.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<!doctype html> | ||
<html class="reftest-wait"> | ||
<title>Auto sizes 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> | ||
<meta name="assert" content="auto sizes rendering"> | ||
<img | ||
id="testImg" | ||
loading="lazy" | ||
srcset=" | ||
/images/red.png 50w, | ||
/images/green.png 100w | ||
" | ||
sizes="auto" | ||
width="100px" | ||
> | ||
<script> | ||
function imageLoaded() { | ||
waitForAtLeastOneFrame().then(takeScreenshot); | ||
} | ||
|
||
testImg.addEventListener('load', imageLoaded); | ||
</script> |
25 changes: 25 additions & 0 deletions
25
html/semantics/embedded-content/the-img-element/sizes/sizes-auto-rendering-3.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<!doctype html> | ||
<html class="reftest-wait"> | ||
<title>Auto sizes 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> | ||
<meta name="assert" content="auto sizes rendering"> | ||
<img | ||
id="testImg" | ||
loading="lazy" | ||
srcset=" | ||
/images/green.png 100w, | ||
/images/red.png 200w | ||
" | ||
sizes="auto" | ||
width="100px" | ||
> | ||
<script> | ||
function imageLoaded() { | ||
waitForAtLeastOneFrame().then(takeScreenshot); | ||
} | ||
|
||
testImg.addEventListener('load', imageLoaded); | ||
</script> |
31 changes: 31 additions & 0 deletions
31
html/semantics/embedded-content/the-img-element/sizes/sizes-auto-rendering-dynamic.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<!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> | ||
<meta name="assert" content="auto sizes dynamic rendering"> | ||
<img | ||
id="testImg" | ||
loading="lazy" | ||
srcset=" | ||
/images/fail.gif 200w, | ||
/images/green.png 100w, | ||
/images/red.png 50w | ||
" | ||
sizes="auto" | ||
width="50px" | ||
> | ||
<script> | ||
function secondImageLoaded() { | ||
waitForAtLeastOneFrame().then(takeScreenshot); | ||
} | ||
|
||
function firstImageLoaded() { | ||
testImg.addEventListener('load', secondImageLoaded); | ||
testImg.style.width = '100px'; | ||
} | ||
|
||
testImg.addEventListener('load', firstImageLoaded, {once: true}); | ||
</script> |
26 changes: 26 additions & 0 deletions
26
html/semantics/embedded-content/the-img-element/sizes/sizes-auto-rendering.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<!doctype html> | ||
<html class="reftest-wait"> | ||
<title>Auto sizes 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> | ||
<meta name="assert" content="auto sizes rendering"> | ||
<img | ||
id="testImg" | ||
loading="lazy" | ||
srcset=" | ||
/images/fail.gif 50w, | ||
/images/green.png 100w, | ||
/images/red.png 200w | ||
" | ||
sizes="auto" | ||
width="100px" | ||
> | ||
<script> | ||
function imageLoaded() { | ||
waitForAtLeastOneFrame().then(takeScreenshot); | ||
} | ||
|
||
testImg.addEventListener('load', imageLoaded); | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters