aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-06-25 01:42:45 -0600
committerbors-servo <metajack+bors@gmail.com>2015-06-25 01:42:45 -0600
commit605b83da54dc7c33def4fb1e3162e377e1715d0b (patch)
tree7ef9b2805a78eb4d1108c49e7ab25ea88c8062a8 /components
parent4c9afb2756e7f82f77a66cca3e8cd83462fcd661 (diff)
parent8375e0914a820ff779c82dbd5a5ac5a3cf65a6e1 (diff)
downloadservo-605b83da54dc7c33def4fb1e3162e377e1715d0b.tar.gz
servo-605b83da54dc7c33def4fb1e3162e377e1715d0b.zip
Auto merge of #6456 - Ms2ger:cleanup-layout, r=metajack
Some cleanup in layout. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6456) <!-- Reviewable:end -->
Diffstat (limited to 'components')
-rw-r--r--components/layout/wrapper.rs50
1 files changed, 20 insertions, 30 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs
index d56fb0925b5..561d750a754 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -575,13 +575,6 @@ impl<'le> TElementAttributes for LayoutElement<'le> {
}
}
-fn get_content(content_list: &content::T) -> Vec<ContentItem> {
- match *content_list {
- content::T::Content(ref value) if !value.is_empty() => (*value).clone(),
- _ => vec![],
- }
-}
-
#[derive(Copy, PartialEq, Clone)]
pub enum PseudoElementType {
Normal,
@@ -794,17 +787,12 @@ impl<'ln> ThreadSafeLayoutNode<'ln> {
}
let mut opt_kid = self.first_child();
- loop {
- match opt_kid {
- None => break,
- Some(mut kid) => {
- if !kid.traverse_postorder_mut(traversal) {
- return false
- }
- unsafe {
- opt_kid = kid.next_sibling()
- }
- }
+ while let Some(mut kid) = opt_kid {
+ if !kid.traverse_postorder_mut(traversal) {
+ return false
+ }
+ unsafe {
+ opt_kid = kid.next_sibling()
}
}
@@ -927,15 +915,17 @@ impl<'ln> ThreadSafeLayoutNode<'ln> {
pub fn text_content(&self) -> Vec<ContentItem> {
if self.pseudo != PseudoElementType::Normal {
let layout_data_ref = self.borrow_layout_data();
- let node_layout_data_wrapper = layout_data_ref.as_ref().unwrap();
+ let data = &layout_data_ref.as_ref().unwrap().data;
- if self.pseudo.is_before() {
- let before_style = node_layout_data_wrapper.data.before_style.as_ref().unwrap();
- return get_content(&before_style.get_box().content)
+ let style = if self.pseudo.is_before() {
+ &data.before_style
} else {
- let after_style = node_layout_data_wrapper.data.after_style.as_ref().unwrap();
- return get_content(&after_style.get_box().content)
- }
+ &data.after_style
+ };
+ return match style.as_ref().unwrap().get_box().content {
+ content::T::Content(ref value) if !value.is_empty() => (*value).clone(),
+ _ => vec![],
+ };
}
let this = unsafe { self.get_jsmanaged() };
@@ -1022,15 +1012,15 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> {
match self.parent_node {
Some(ref parent_node) => {
- if parent_node.pseudo == PseudoElementType::Normal {
- self.current_node = self.current_node.clone().and_then(|node| {
+ self.current_node = if parent_node.pseudo == PseudoElementType::Normal {
+ self.current_node.clone().and_then(|node| {
unsafe {
node.next_sibling()
}
- });
+ })
} else {
- self.current_node = None;
- }
+ None
+ };
}
None => {}
}