diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2018-01-27 17:42:19 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2018-01-27 17:57:17 +0100 |
commit | 61e60a87e5319544cb6073132f8a4e474af03b12 (patch) | |
tree | ded11f7312ce3b76918481b8a378e4f235c9d718 /components/layout_thread/dom_wrapper.rs | |
parent | bc7dd644f6f50bd6eb3fba1547808775ee9d7620 (diff) | |
download | servo-61e60a87e5319544cb6073132f8a4e474af03b12.tar.gz servo-61e60a87e5319544cb6073132f8a4e474af03b12.zip |
selectors: Never match ::slotted on <slot>s.
This fixes the test from https://github.com/w3c/web-platform-tests/pull/9212 in
Gecko.
Diffstat (limited to 'components/layout_thread/dom_wrapper.rs')
-rw-r--r-- | components/layout_thread/dom_wrapper.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs index 0110704edad..a909ce72e8f 100644 --- a/components/layout_thread/dom_wrapper.rs +++ b/components/layout_thread/dom_wrapper.rs @@ -784,6 +784,13 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> { } } + fn is_html_slot_element(&self) -> bool { + unsafe { + self.element.is_html_element() && + self.get_local_name() == &local_name!("slot") + } + } + fn is_html_element_in_html_document(&self) -> bool { unsafe { if !self.element.is_html_element() { @@ -1176,6 +1183,10 @@ impl<'le> ::selectors::Element for ServoThreadSafeLayoutElement<'le> { None } + fn is_html_slot_element(&self) -> bool { + self.element.is_html_slot_element() + } + fn is_html_element_in_html_document(&self) -> bool { debug!("ServoThreadSafeLayoutElement::is_html_element_in_html_document called"); true |