aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/page.rs
diff options
context:
space:
mode:
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 {