| <!doctype html> |
| <title>CSS Test: ::slotted() should not match via the matches() API, since it's in the wrong scope</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> |
| <link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo"> |
| <link rel="help" href="https://dom.spec.whatwg.org/#dom-element-matches"> |
| <link rel="help" href="https://bugzil.la/1544242"> |
| <div id="host"><div id="slotted"></div></div> |
| <script> |
| test(function() { |
| let slotted = document.getElementById("slotted"); |
| host.attachShadow({ mode: "open" }).innerHTML = `<slot></slot>`; |
| assert_false(slotted.matches("::slotted(div)"), "Shouldn't match ::slotted from the outer tree") |
| }, "::slotted() doesn't reveal the presence of shadow DOM via matches()"); |
| </script> |