mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Merge has_{before,after}_pseudo into get_{before,after}_display.
This commit is contained in:
parent
cc356e58ae
commit
2e6a723970
1 changed files with 25 additions and 44 deletions
|
@ -683,33 +683,21 @@ impl<'ln> ThreadSafeLayoutNode<'ln> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn get_before_display(&self) -> display::T {
|
pub fn get_before_display(&self) -> Option<display::T> {
|
||||||
let mut layout_data_ref = self.mutate_layout_data();
|
let mut layout_data_ref = self.mutate_layout_data();
|
||||||
let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
||||||
let style = node_layout_data_wrapper.data.before_style.as_ref().unwrap();
|
node_layout_data_wrapper.data.before_style.as_ref().map(|style| {
|
||||||
style.get_box().display
|
style.get_box().display
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn get_after_display(&self) -> display::T {
|
pub fn get_after_display(&self) -> Option<display::T> {
|
||||||
let mut layout_data_ref = self.mutate_layout_data();
|
let mut layout_data_ref = self.mutate_layout_data();
|
||||||
let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
||||||
let style = node_layout_data_wrapper.data.after_style.as_ref().unwrap();
|
node_layout_data_wrapper.data.after_style.as_ref().map(|style| {
|
||||||
style.get_box().display
|
style.get_box().display
|
||||||
}
|
})
|
||||||
|
|
||||||
#[inline]
|
|
||||||
pub fn has_before_pseudo(&self) -> bool {
|
|
||||||
let layout_data_wrapper = self.borrow_layout_data();
|
|
||||||
let layout_data_wrapper_ref = layout_data_wrapper.as_ref().unwrap();
|
|
||||||
layout_data_wrapper_ref.data.before_style.is_some()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[inline]
|
|
||||||
pub fn has_after_pseudo(&self) -> bool {
|
|
||||||
let layout_data_wrapper = self.borrow_layout_data();
|
|
||||||
let layout_data_wrapper_ref = layout_data_wrapper.as_ref().unwrap();
|
|
||||||
layout_data_wrapper_ref.data.after_style.is_some()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Borrows the layout data without checking.
|
/// Borrows the layout data without checking.
|
||||||
|
@ -944,15 +932,14 @@ impl<'a> ThreadSafeLayoutNodeChildrenIterator<'a> {
|
||||||
return None
|
return None
|
||||||
}
|
}
|
||||||
|
|
||||||
if parent.has_before_pseudo() {
|
parent.get_before_display().map(|display| {
|
||||||
let pseudo = PseudoElementType::Before(parent.get_before_display());
|
parent.with_pseudo(PseudoElementType::Before(display))
|
||||||
return Some(parent.with_pseudo(pseudo));
|
}).or_else(|| {
|
||||||
}
|
unsafe {
|
||||||
|
parent.get_jsmanaged().first_child_ref()
|
||||||
unsafe {
|
.map(|node| parent.new_with_this_lifetime(&node))
|
||||||
parent.get_jsmanaged().first_child_ref()
|
}
|
||||||
.map(|node| parent.new_with_this_lifetime(&node))
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadSafeLayoutNodeChildrenIterator {
|
ThreadSafeLayoutNodeChildrenIterator {
|
||||||
|
@ -977,13 +964,10 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
if self.parent_node.has_after_pseudo() {
|
self.parent_node.get_after_display().map(|display| {
|
||||||
let pseudo = PseudoElementType::After(
|
self.parent_node.with_pseudo(
|
||||||
self.parent_node.get_after_display());
|
PseudoElementType::After(display))
|
||||||
Some(self.parent_node.with_pseudo(pseudo))
|
})
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -995,14 +979,11 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
if self.parent_node.has_after_pseudo() {
|
self.parent_node.get_after_display().map(|display| {
|
||||||
let pseudo = PseudoElementType::After(
|
self.parent_node.with_pseudo(
|
||||||
self.parent_node.get_after_display());
|
PseudoElementType::After(display))
|
||||||
Some(self.parent_node.with_pseudo(pseudo))
|
})
|
||||||
} else {
|
},
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
PseudoElementType::After(_) => {
|
PseudoElementType::After(_) => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue