Further changes required by Servo

This commit is contained in:
Oriol Brufau 2023-11-16 00:09:09 +01:00 committed by Martin Robinson
parent 744b21e72a
commit c7f8845665
2 changed files with 51 additions and 10 deletions

View file

@ -672,8 +672,20 @@ impl<'dom, LayoutDataType: LayoutDataTrait> ::selectors::Element
self.element.is_html_element() && self.as_node().owner_doc().is_html_document()
}
fn set_selector_flags(&self, flags: ElementSelectorFlags) {
self.element.insert_selector_flags(flags);
fn apply_selector_flags(&self, flags: ElementSelectorFlags) {
// Handle flags that apply to the element.
let self_flags = flags.for_self();
if !self_flags.is_empty() {
self.element.insert_selector_flags(flags);
}
// Handle flags that apply to the parent.
let parent_flags = flags.for_parent();
if !parent_flags.is_empty() {
if let Some(p) = self.as_node().parent_element() {
p.element.insert_selector_flags(flags);
}
}
}
}
@ -915,8 +927,20 @@ impl<'dom, LayoutDataType: LayoutDataTrait> ::selectors::Element
false
}
fn set_selector_flags(&self, flags: ElementSelectorFlags) {
self.element.element.insert_selector_flags(flags);
fn apply_selector_flags(&self, flags: ElementSelectorFlags) {
// Handle flags that apply to the element.
let self_flags = flags.for_self();
if !self_flags.is_empty() {
self.element.element.insert_selector_flags(flags);
}
// Handle flags that apply to the parent.
let parent_flags = flags.for_parent();
if !parent_flags.is_empty() {
if let Some(p) = self.element.parent_element() {
p.element.insert_selector_flags(flags);
}
}
}
}