Auto merge of #19878 - emilio:slotted-slot, r=nox

selectors: Never match ::slotted on <slot>s.

This fixes the test from https://github.com/w3c/web-platform-tests/pull/9212 in
Gecko.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19878)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2018-01-29 11:45:11 -06:00 committed by GitHub
commit 82922c97dc
7 changed files with 36 additions and 7 deletions

View file

@ -916,8 +916,12 @@ impl LayoutElementHelpers for LayoutDom<Element> {
}
impl Element {
pub fn is_html_element(&self) -> bool {
self.namespace == ns!(html)
}
pub fn html_element_in_html_document(&self) -> bool {
self.namespace == ns!(html) && self.upcast::<Node>().is_in_html_doc()
self.is_html_element() && self.upcast::<Node>().is_in_html_doc()
}
pub fn local_name(&self) -> &LocalName {
@ -2713,6 +2717,10 @@ impl<'a> SelectorsElement for DomRoot<Element> {
fn is_html_element_in_html_document(&self) -> bool {
self.html_element_in_html_document()
}
fn is_html_slot_element(&self) -> bool {
self.is_html_element() && self.local_name() == &local_name!("slot")
}
}