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.rs28
1 files changed, 14 insertions, 14 deletions
diff --git a/components/script/page.rs b/components/script/page.rs
index b369a5e3337..c7ea2e44bec 100644
--- a/components/script/page.rs
+++ b/components/script/page.rs
@@ -436,23 +436,23 @@ impl Page {
address
}
- pub fn get_nodes_under_mouse(&self, point: &Point2D<f32>) -> Option<Vec<UntrustedNodeAddress>> {
+ pub fn get_nodes_under_mouse(&self, point: &Point2D<f32>) -> Vec<UntrustedNodeAddress> {
+ let mut results = vec!();
let frame = self.frame();
let document = frame.as_ref().unwrap().document.root();
- let root = match document.r().GetDocumentElement().root() {
- None => return None,
- Some(root) => root,
- };
- let root: JSRef<Node> = NodeCast::from_ref(root.r());
- let address = match self.layout().mouse_over(root.to_trusted_node_address(), *point) {
- Ok(MouseOverResponse(node_address)) => {
- Some(node_address)
+ match document.r().GetDocumentElement().root() {
+ Some(root) => {
+ let root: JSRef<Node> = NodeCast::from_ref(root.r());
+ match self.layout().mouse_over(root.to_trusted_node_address(), *point) {
+ Ok(MouseOverResponse(node_addresses)) => {
+ results = node_addresses;
+ }
+ Err(()) => {}
+ };
}
- Err(()) => {
- None
- }
- };
- address
+ None => {}
+ }
+ results
}
}