<!DOCTYPE html> <html> <head> <title>CSS Scoping Module Level 1 - :host rules must apply to the shadow host.</title> <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/> <link rel="help" href="http://www.w3.org/TR/css-scoping-1/#host-selector"> <link rel="match" href="reference/green-box.html"/> </head> <body> <style> my-host, my-host2, my-host3, my-host4 { display: block; width: 100px; height: 25px; } my-host2 { background: green; } my-host3 { background: red; color: green; } my-host4 { background: green; color: green; } </style> <p>Test passes if you see a single 100px by 100px green box below.</p> <my-host> <div>FAIL</div> </my-host> <my-host2> <div>FAIL</div> </my-host2> <my-host3> <div>FAIL</div> </my-host3> <div class="container"> <my-host4> <div>FAIL</div> </my-host4> </div> <script> try { var shadowHost = document.querySelector('my-host'); var shadowRoot = shadowHost.attachShadow({mode: 'open'}); shadowRoot.innerHTML = '<style> :host { color: green; background: green; } </style><div>FAIL</div>'; shadowHost = document.querySelector('my-host2'); shadowRoot = shadowHost.attachShadow({mode: 'open'}); shadowRoot.innerHTML = '<style> :host { color: red; background: red; } div { color: green }</style><div>FAIL</div>'; shadowHost = document.querySelector('my-host3'); shadowRoot = shadowHost.attachShadow({mode: 'open'}); shadowRoot.innerHTML = '<style> :host { background: green !important; color: green !important; } </style><div>FAIL</div>'; shadowHost = document.querySelector('my-host4'); shadowRoot = shadowHost.attachShadow({mode: 'open'}); shadowRoot.innerHTML = '<style> .container :host { background: red !important; } </style><div>FAIL</div>'; } catch (exception) { document.body.appendChild(document.createTextNode(exception)); } </script> </body> </html>