| <!DOCTYPE html> | |
| <title>CSS Test: getComputedStyle - resolved width in nested iframes dynamic width</title> | |
| <link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org" /> | |
| <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> |