aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-21 15:20:12 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-21 15:20:12 -0600
commit406be7accf50394f962382fc5a4c3aeb1c33aaa3 (patch)
tree050c0e484bbf66fd0d28caec328f1000bbc64a39
parentb1c4862119f40e16fa41531443573d2aa9d2d22c (diff)
parent94e1d4d34ccd44ef8cb46f44bddb8a2303b15a73 (diff)
downloadservo-406be7accf50394f962382fc5a4c3aeb1c33aaa3.tar.gz
servo-406be7accf50394f962382fc5a4c3aeb1c33aaa3.zip
Auto merge of #6690 - Ms2ger:display-getters, r=pcwalton
Cleanup the get_*_display methods.
-rw-r--r--components/layout/wrapper.rs79
1 files changed, 20 insertions, 59 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs
index 33414f64673..a223c154ba5 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -683,41 +683,21 @@ impl<'ln> ThreadSafeLayoutNode<'ln> {
}
#[inline]
- pub fn get_normal_display(&self) -> 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.shared_data.style.as_ref().unwrap();
- style.get_box().display
- }
-
- #[inline]
- pub fn get_before_display(&self) -> 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
- }
-
- #[inline]
- pub fn get_after_display(&self) -> 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()
+ pub fn get_before_pseudo(&self) -> Option<ThreadSafeLayoutNode<'ln>> {
+ let layout_data_ref = self.borrow_layout_data();
+ let node_layout_data_wrapper = layout_data_ref.as_ref().unwrap();
+ node_layout_data_wrapper.data.before_style.as_ref().map(|style| {
+ self.with_pseudo(PseudoElementType::Before(style.get_box().display))
+ })
}
#[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()
+ pub fn get_after_pseudo(&self) -> Option<ThreadSafeLayoutNode<'ln>> {
+ let layout_data_ref = self.borrow_layout_data();
+ let node_layout_data_wrapper = layout_data_ref.as_ref().unwrap();
+ node_layout_data_wrapper.data.after_style.as_ref().map(|style| {
+ self.with_pseudo(PseudoElementType::After(style.get_box().display))
+ })
}
/// Borrows the layout data without checking.
@@ -952,15 +932,12 @@ 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_pseudo().or_else(|| {
+ unsafe {
+ parent.get_jsmanaged().first_child_ref()
+ .map(|node| parent.new_with_this_lifetime(&node))
+ }
+ })
}
ThreadSafeLayoutNodeChildrenIterator {
@@ -984,15 +961,7 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
self.parent_node.new_with_this_lifetime(&first)
})
},
- 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
- }
- }
+ None => self.parent_node.get_after_pseudo(),
}
},
PseudoElementType::Normal => {
@@ -1002,15 +971,7 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
self.parent_node.new_with_this_lifetime(&next)
})
},
- 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
- }
- }
+ None => self.parent_node.get_after_pseudo(),
}
},
PseudoElementType::After(_) => {