diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-12-10 12:25:28 +0100 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-12-10 16:24:12 +0100 |
commit | 6fa39497b85c0f8526ef934903b647c38c7e75bc (patch) | |
tree | 007ce1d2e653411f8f62c42ac5d3076ebf9c3900 /components/script/page.rs | |
parent | d8a5199ba847bb46733eb4794d0bf93966964499 (diff) | |
download | servo-6fa39497b85c0f8526ef934903b647c38c7e75bc.tar.gz servo-6fa39497b85c0f8526ef934903b647c38c7e75bc.zip |
Cleanup Page::remove.
Diffstat (limited to 'components/script/page.rs')
-rw-r--r-- | components/script/page.rs | 22 |
1 files 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<f32>) -> bool { |