Use more idiomatic construction

or_else in more idiomatic rust construction than
match, where Some(x) => Some(x)
This commit is contained in:
crypto-universe 2017-03-03 21:48:32 +01:00
parent c32181c6db
commit afd3030af3

View file

@ -953,19 +953,12 @@ impl<ConcreteNode> Iterator for ThreadSafeLayoutNodeChildrenIterator<ConcreteNod
if let Some(ref node) = node { if let Some(ref node) = node {
self.current_node = match node.get_pseudo_element_type() { self.current_node = match node.get_pseudo_element_type() {
PseudoElementType::Before(_) => { PseudoElementType::Before(_) => {
let first = self.parent_node.get_details_summary_pseudo().or_else(|| unsafe { self.parent_node.get_details_summary_pseudo()
self.parent_node.dangerous_first_child() .or_else(|| unsafe { self.parent_node.dangerous_first_child() })
}); .or_else(|| self.parent_node.get_after_pseudo())
match first {
Some(first) => Some(first),
None => self.parent_node.get_after_pseudo(),
}
}, },
PseudoElementType::Normal => { PseudoElementType::Normal => {
match unsafe { node.dangerous_next_sibling() } { unsafe { node.dangerous_next_sibling() }.or_else(|| self.parent_node.get_after_pseudo())
Some(next) => Some(next),
None => self.parent_node.get_after_pseudo(),
}
}, },
PseudoElementType::DetailsSummary(_) => self.parent_node.get_details_content_pseudo(), PseudoElementType::DetailsSummary(_) => self.parent_node.get_details_content_pseudo(),
PseudoElementType::DetailsContent(_) => self.parent_node.get_after_pseudo(), PseudoElementType::DetailsContent(_) => self.parent_node.get_after_pseudo(),