summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/webcomponents/test_style_fallback_content.html
blob: 33aef213225a6ad00368d97133d268672764ff3c (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
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=806506
-->
<head>
  <title>Test for styling fallback content</title>
  <script type="text/javascript" src="head.js"></script>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=806506">Bug 806506</a>
<script>

SimpleTest.waitForExplicitFinish();

var content = '<div id="grabme"></div>';
createIframe(content)
  .then((aDocument) => {
    var iframeWin = aDocument.defaultView;

    var host = aDocument.getElementById("grabme");
    var shadow = host.attachShadow({mode: "open"});
    shadow.innerHTML = '<style id="innerstyle"></style><span id="container"><slot><span id="innerspan">Hello</span></slot></span>';
    var innerStyle = shadow.getElementById("innerstyle");

    innerStyle.innerHTML = '#innerspan { margin-top: 10px; }';
    var innerSpan = shadow.getElementById("innerspan");
    is(iframeWin.getComputedStyle(innerSpan).getPropertyValue("margin-top"), "10px", "Default content should be style by id selector.");

    innerStyle.innerHTML = '#container > slot > #innerspan { margin-top: 30px; }';
    is(iframeWin.getComputedStyle(innerSpan).getPropertyValue("margin-top"), "30px", "Default content should be style by child combinators.");

    SimpleTest.finish();
  });
</script>
</body>
</html>