<!DOCTYPE html>
<title>CSS Test: getComputedStyle - resolved width in nested iframes dynamic width</title>
<link rel="author" title="Rune Lillesveen" href="mailto:[email protected]" />
<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-values" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<iframe id="outer" width="100" scrolling="no" frameborder="0"></iframe>
<script>
const outerDoc = outer.contentWindow.document;
outerDoc.open();
outerDoc.write('<body style="margin:0"><iframe id="inner" scrolling="no" frameborder="0" style="width:100%"></iframe>');
outerDoc.close();
const innerWindow = outerDoc.querySelector("#inner").contentWindow;
const innerDoc = innerWindow.document;
innerDoc.open();
innerDoc.write('<body style="margin:0"><div style="width:100%"></div>');
innerDoc.close();
innerDoc.body.offsetWidth; // Make sure we layout the top document.
test(() => {
assert_equals(innerWindow.getComputedStyle(innerDoc.querySelector("div")).width, "100px");
}, "Check that the initial width is 100px.");
test(() => {
outer.setAttribute("width", "200");
assert_equals(innerWindow.getComputedStyle(innerDoc.querySelector("div")).width, "200px");
}, "Check that the resolved width of the inner div is affected by changing the width of outer iframe.");
</script>