File: css-scoping-shadow-assigned-node-with-before-after.html

package info (click to toggle)
thunderbird 1%3A115.16.0esr-1~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,476,252 kB
  • sloc: cpp: 6,972,150; javascript: 5,209,211; ansic: 3,507,222; python: 1,137,609; asm: 432,531; xml: 205,149; java: 175,761; sh: 116,485; makefile: 22,152; perl: 13,971; objc: 12,561; yacc: 4,583; pascal: 2,840; lex: 1,720; ruby: 1,075; exp: 762; sql: 666; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (58 lines) | stat: -rw-r--r-- 1,664 bytes parent folder | download | duplicates (26)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html>
<html>
<head>
    <title>CSS Scoping Module Level 1 - ::before and ::after pseudo class' contents on a node assigned to a slot element must be rendered</title>
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
    <link rel="help" href="http://www.w3.org/TR/css-scoping-1/#selectors-data-model">
    <link rel="match" href="reference/green-box.html"/>
</head>
<body>
    <style>
        my-host {
            display: block;
            width: 100px;
            height: 100px;
            background: red;
        }
        div {
            display: block;
            background: red;
            line-height: 0px;
            width: 100%;
            height: 50px;
        }
        [slot=foo]::before,
        [slot=foo]::after {
            display: block;
            content: "";
            width: 100%;
            height: 25px;
        }
        [slot=foo]::before,
        [slot=foo]::after {
            background: green;
        }
        [slot=bar]::before,
        [slot=bar]::after {
            background: yellow;
        }
    </style>
    <p>Test passes if you see a single 100px by 100px green box below.</p>
    <my-host>
        <div slot="foo"></div>
        <div slot="bar"></div>
        <div slot="foo"></div>
    </my-host>
    <script>

        try {
            var shadowHost = document.querySelector('my-host');
            shadowRoot = shadowHost.attachShadow({mode: 'open'});
            shadowRoot.innerHTML = '<slot name="foo"></slot>';
        } catch (exception) {
            document.body.appendChild(document.createTextNode(exception));
        }

    </script>
</body>
</html>