diff options
-rw-r--r-- | components/malloc_size_of/lib.rs | 6 | ||||
-rw-r--r-- | components/script/dom/element.rs | 4 | ||||
-rw-r--r-- | components/script/layout_dom/element.rs | 12 |
3 files changed, 19 insertions, 3 deletions
diff --git a/components/malloc_size_of/lib.rs b/components/malloc_size_of/lib.rs index 4011746b300..7dabb37397e 100644 --- a/components/malloc_size_of/lib.rs +++ b/components/malloc_size_of/lib.rs @@ -695,9 +695,9 @@ where Component::Slotted(ref selector) | Component::Host(Some(ref selector)) => { selector.size_of(ops) }, - Component::Is(ref list) | - Component::Where(ref list) | - Component::Has(ref list) => list.size_of(ops), + Component::Is(ref list) | Component::Where(ref list) | Component::Has(ref list) => { + list.size_of(ops) + }, Component::PseudoElement(ref pseudo) => (*pseudo).size_of(ops), Component::Combinator(..) | Component::ExplicitAnyNamespace | diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 7498318d436..64164858807 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -3178,6 +3178,10 @@ impl<'a> SelectorsElement for DomRoot<Element> { .next() } + fn first_element_child(&self) -> Option<DomRoot<Element>> { + self.GetFirstElementChild() + } + fn attr_matches( &self, ns: &NamespaceConstraint<&style::Namespace>, diff --git a/components/script/layout_dom/element.rs b/components/script/layout_dom/element.rs index 94e2676fff5..e4e20b1c1ab 100644 --- a/components/script/layout_dom/element.rs +++ b/components/script/layout_dom/element.rs @@ -506,6 +506,12 @@ impl<'dom, LayoutDataType: LayoutDataTrait> ::selectors::Element None } + fn first_element_child(&self) -> Option<Self> { + self.as_node() + .dom_children() + .find_map(|child| child.as_element()) + } + fn attr_matches( &self, ns: &NamespaceConstraint<&style::Namespace>, @@ -801,6 +807,12 @@ impl<'dom, LayoutDataType: LayoutDataTrait> ::selectors::Element None } + // Skips non-element nodes + fn first_element_child(&self) -> Option<Self> { + warn!("ServoThreadSafeLayoutElement::first_element_child called"); + None + } + fn is_html_slot_element(&self) -> bool { self.element.is_html_slot_element() } |