mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +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]
|
||||
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 node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
||||
let style = node_layout_data_wrapper.data.before_style.as_ref().unwrap();
|
||||
style.get_box().display
|
||||
node_layout_data_wrapper.data.before_style.as_ref().map(|style| {
|
||||
style.get_box().display
|
||||
})
|
||||
}
|
||||
|
||||
#[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 node_layout_data_wrapper = layout_data_ref.as_mut().unwrap();
|
||||
let style = node_layout_data_wrapper.data.after_style.as_ref().unwrap();
|
||||
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()
|
||||
node_layout_data_wrapper.data.after_style.as_ref().map(|style| {
|
||||
style.get_box().display
|
||||
})
|
||||
}
|
||||
|
||||
/// Borrows the layout data without checking.
|
||||
|
@ -944,15 +932,14 @@ impl<'a> ThreadSafeLayoutNodeChildrenIterator<'a> {
|
|||
return None
|
||||
}
|
||||
|
||||
if parent.has_before_pseudo() {
|
||||
let pseudo = PseudoElementType::Before(parent.get_before_display());
|
||||
return Some(parent.with_pseudo(pseudo));
|
||||
}
|
||||
|
||||
unsafe {
|
||||
parent.get_jsmanaged().first_child_ref()
|
||||
.map(|node| parent.new_with_this_lifetime(&node))
|
||||
}
|
||||
parent.get_before_display().map(|display| {
|
||||
parent.with_pseudo(PseudoElementType::Before(display))
|
||||
}).or_else(|| {
|
||||
unsafe {
|
||||
parent.get_jsmanaged().first_child_ref()
|
||||
.map(|node| parent.new_with_this_lifetime(&node))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
ThreadSafeLayoutNodeChildrenIterator {
|
||||
|
@ -977,13 +964,10 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
|
|||
})
|
||||
},
|
||||
None => {
|
||||
if self.parent_node.has_after_pseudo() {
|
||||
let pseudo = PseudoElementType::After(
|
||||
self.parent_node.get_after_display());
|
||||
Some(self.parent_node.with_pseudo(pseudo))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
self.parent_node.get_after_display().map(|display| {
|
||||
self.parent_node.with_pseudo(
|
||||
PseudoElementType::After(display))
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -995,14 +979,11 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
|
|||
})
|
||||
},
|
||||
None => {
|
||||
if self.parent_node.has_after_pseudo() {
|
||||
let pseudo = PseudoElementType::After(
|
||||
self.parent_node.get_after_display());
|
||||
Some(self.parent_node.with_pseudo(pseudo))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
self.parent_node.get_after_display().map(|display| {
|
||||
self.parent_node.with_pseudo(
|
||||
PseudoElementType::After(display))
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
PseudoElementType::After(_) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue