summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/cssom/computed-style-004.html
blob: c5b08712f96840eb6c8177cda60f8798248fb11b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!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>