diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-06-25 01:42:45 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-06-25 01:42:45 -0600 |
commit | 605b83da54dc7c33def4fb1e3162e377e1715d0b (patch) | |
tree | 7ef9b2805a78eb4d1108c49e7ab25ea88c8062a8 /components | |
parent | 4c9afb2756e7f82f77a66cca3e8cd83462fcd661 (diff) | |
parent | 8375e0914a820ff779c82dbd5a5ac5a3cf65a6e1 (diff) | |
download | servo-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.rs | 50 |
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 => {} } |