blob: 08d73810ddde17532f188cddd59638beec07c5e8 [file] [log] [blame]
<!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-expected.html">
<link rel="help" href="https://html.spec.whatwg.org/#sizes-attributes">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1149357">
<script>
// Use WPT version after reftest-wait is implemented.
if (window.testRunner)
testRunner.waitUntilDone();
function frameLoaded(frame) {
let doc = frame.contentDocument;
let shadow = doc.getElementById("host").attachShadow({ mode: "open" });
let img = doc.createElement("img");
img.srcset = "resources/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");
if (window.testRunner)
testRunner.notifyDone();
}, 0);
};
shadow.appendChild(img);
}
</script>
<iframe onload="frameLoaded(this)" width="200" height="500" srcdoc='<!doctype html><div id="host"></div>'></iframe>