aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/page.rs
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-12-10 12:25:28 +0100
committerMs2ger <ms2ger@gmail.com>2014-12-10 16:24:12 +0100
commit6fa39497b85c0f8526ef934903b647c38c7e75bc (patch)
tree007ce1d2e653411f8f62c42ac5d3076ebf9c3900 /components/script/page.rs
parentd8a5199ba847bb46733eb4794d0bf93966964499 (diff)
downloadservo-6fa39497b85c0f8526ef934903b647c38c7e75bc.tar.gz
servo-6fa39497b85c0f8526ef934903b647c38c7e75bc.zip
Cleanup Page::remove.
Diffstat (limited to 'components/script/page.rs')
-rw-r--r--components/script/page.rs22
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 {