aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread/dom_wrapper.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-01-27 17:42:19 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-01-27 17:57:17 +0100
commit61e60a87e5319544cb6073132f8a4e474af03b12 (patch)
treeded11f7312ce3b76918481b8a378e4f235c9d718 /components/layout_thread/dom_wrapper.rs
parentbc7dd644f6f50bd6eb3fba1547808775ee9d7620 (diff)
downloadservo-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.rs11
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