From 6fa39497b85c0f8526ef934903b647c38c7e75bc Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 10 Dec 2014 12:25:28 +0100 Subject: [PATCH] Cleanup Page::remove. --- components/script/page.rs | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/components/script/page.rs b/components/script/page.rs index 17ff7296092..f2b011c2ea5 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -228,26 +228,18 @@ impl Page { self.children .borrow_mut() .iter_mut() - .enumerate() - .find(|&(_idx, ref page_tree)| { - // FIXME: page_tree has a lifetime such that it's unusable for anything. - let page_tree_id = page_tree.id; - page_tree_id == id - }) - .map(|(idx, _)| idx) + .position(|page_tree| page_tree.id == id) }; match remove_idx { - Some(idx) => return Some(self.children.borrow_mut().remove(idx).unwrap()), + Some(idx) => Some(self.children.borrow_mut().remove(idx).unwrap()), None => { - for page_tree in self.children.borrow_mut().iter_mut() { - match page_tree.remove(id) { - found @ Some(_) => return found, - None => (), // keep going... - } - } + self.children + .borrow_mut() + .iter_mut() + .filter_map(|page_tree| page_tree.remove(id)) + .next() } } - None } pub fn set_page_clip_rect_with_new_viewport(&self, viewport: Rect) -> bool {