From e05d9d0646f27e03cca1982f6d08ace50e0a9273 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 31 Oct 2015 13:25:32 +0100 Subject: [PATCH] Cleanup Document::handle_mouse_move_event a bit. --- components/script/dom/document.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 0a94f9f5504..6eb3460ace0 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -672,14 +672,13 @@ impl Document { prev_mouse_over_targets: &mut RootedVec>) { // Build a list of elements that are currently under the mouse. let mouse_over_addresses = self.get_nodes_under_mouse(&point); - let mut mouse_over_targets: RootedVec> = RootedVec::new(); - for node_address in &mouse_over_addresses { - let node = node::from_untrusted_node_address(js_runtime, *node_address); - mouse_over_targets.push(node.r().inclusive_ancestors() - .find(|node| node.is::()) - .map(|node| JS::from_ref(node.downcast::().unwrap())) - .unwrap()); - }; + let mut mouse_over_targets = mouse_over_addresses.iter().map(|node_address| { + node::from_untrusted_node_address(js_runtime, *node_address) + .inclusive_ancestors() + .filter_map(Root::downcast::) + .next() + .unwrap() + }).collect::>>(); // Remove hover from any elements in the previous list that are no longer // under the mouse.