Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<html class="reftest-wait">
<title>Image intrinsic size specified via sizes attribute reacts properly to media changes in Shadow DOM</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="match" href="sizes-dynamic-001-ref.html">
<script>
function frameLoaded(frame) {
let doc = frame.contentDocument;
let shadow = doc.getElementById("host").attachShadow({ mode: "open" });
let img = doc.createElement("img");
img.srcset = "/images/green-256x256.png 100w";
img.style.maxWidth = "100%";
img.setAttribute("sizes", "(min-width: 400px) 10px, 20px");
img.onload = function() {
img.offsetWidth; // Flush layout.
frame.width = "500";
// Trigger the viewport resize, which will trigger the image load task.
img.offsetWidth;
// Wait for the image load task to run.
setTimeout(() => document.documentElement.removeAttribute("class"), 0);
};
shadow.appendChild(img);
}
</script>
<iframe onload="frameLoaded(this)" width="200" height="500" srcdoc='<!doctype html><div id="host"></div>'></iframe>