From cc356e58ae90f17aaa1abd337d3369d878ad574c Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 18 Jul 2015 12:04:11 +0200 Subject: [PATCH 1/4] Remove unused ThreadSafeLayoutNode::get_normal_display. --- components/layout/wrapper.rs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 33414f64673..7a7d7d9277c 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -682,14 +682,6 @@ impl<'ln> ThreadSafeLayoutNode<'ln> { self.pseudo } - #[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(); From 2e6a723970e755c3dfdca679526cee999b3885db Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 18 Jul 2015 12:13:54 +0200 Subject: [PATCH 2/4] Merge has_{before,after}_pseudo into get_{before,after}_display. --- components/layout/wrapper.rs | 69 +++++++++++++----------------------- 1 file changed, 25 insertions(+), 44 deletions(-) diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 7a7d7d9277c..9ea869d35cd 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -683,33 +683,21 @@ impl<'ln> ThreadSafeLayoutNode<'ln> { } #[inline] - pub fn get_before_display(&self) -> display::T { + pub fn get_before_display(&self) -> Option { 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 { 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(_) => { From 093204a224d83536b9967acf4220da4fd06c9e57 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 18 Jul 2015 12:17:21 +0200 Subject: [PATCH 3/4] Replace get_{before,after}_display by get_{before,after}_pseudo. --- components/layout/wrapper.rs | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 9ea869d35cd..4f10bbe0780 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -683,20 +683,20 @@ impl<'ln> ThreadSafeLayoutNode<'ln> { } #[inline] - pub fn get_before_display(&self) -> Option { + pub fn get_before_pseudo(&self) -> Option> { let mut layout_data_ref = self.mutate_layout_data(); let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap(); node_layout_data_wrapper.data.before_style.as_ref().map(|style| { - style.get_box().display + self.with_pseudo(PseudoElementType::Before(style.get_box().display)) }) } #[inline] - pub fn get_after_display(&self) -> Option { + pub fn get_after_pseudo(&self) -> Option> { let mut layout_data_ref = self.mutate_layout_data(); let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap(); node_layout_data_wrapper.data.after_style.as_ref().map(|style| { - style.get_box().display + self.with_pseudo(PseudoElementType::After(style.get_box().display)) }) } @@ -932,9 +932,7 @@ impl<'a> ThreadSafeLayoutNodeChildrenIterator<'a> { return None } - parent.get_before_display().map(|display| { - parent.with_pseudo(PseudoElementType::Before(display)) - }).or_else(|| { + parent.get_before_pseudo().or_else(|| { unsafe { parent.get_jsmanaged().first_child_ref() .map(|node| parent.new_with_this_lifetime(&node)) @@ -963,12 +961,7 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> { self.parent_node.new_with_this_lifetime(&first) }) }, - None => { - self.parent_node.get_after_display().map(|display| { - self.parent_node.with_pseudo( - PseudoElementType::After(display)) - }) - } + None => self.parent_node.get_after_pseudo(), } }, PseudoElementType::Normal => { @@ -978,12 +971,7 @@ impl<'a> Iterator for ThreadSafeLayoutNodeChildrenIterator<'a> { self.parent_node.new_with_this_lifetime(&next) }) }, - None => { - self.parent_node.get_after_display().map(|display| { - self.parent_node.with_pseudo( - PseudoElementType::After(display)) - }) - }, + None => self.parent_node.get_after_pseudo(), } }, PseudoElementType::After(_) => { From 94e1d4d34ccd44ef8cb46f44bddb8a2303b15a73 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Tue, 21 Jul 2015 22:58:16 +0200 Subject: [PATCH 4/4] Don't call mutate_layout_data in get_{before,after}_pseudo. We don't mutate anything. --- components/layout/wrapper.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 4f10bbe0780..a223c154ba5 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -684,8 +684,8 @@ impl<'ln> ThreadSafeLayoutNode<'ln> { #[inline] pub fn get_before_pseudo(&self) -> Option> { - let mut layout_data_ref = self.mutate_layout_data(); - let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap(); + 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)) }) @@ -693,8 +693,8 @@ impl<'ln> ThreadSafeLayoutNode<'ln> { #[inline] pub fn get_after_pseudo(&self) -> Option> { - let mut layout_data_ref = self.mutate_layout_data(); - let node_layout_data_wrapper = layout_data_ref.as_mut().unwrap(); + 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)) })