aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrinputsourcearray.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/xrinputsourcearray.rs')
-rw-r--r--components/script/dom/xrinputsourcearray.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/components/script/dom/xrinputsourcearray.rs b/components/script/dom/xrinputsourcearray.rs
index b0565940373..48f84991db0 100644
--- a/components/script/dom/xrinputsourcearray.rs
+++ b/components/script/dom/xrinputsourcearray.rs
@@ -11,6 +11,7 @@ use crate::dom::globalscope::GlobalScope;
use crate::dom::xrinputsource::XRInputSource;
use crate::dom::xrsession::XRSession;
use dom_struct::dom_struct;
+use webxr_api::InputId;
#[dom_struct]
pub struct XRInputSourceArray {
@@ -46,6 +47,14 @@ impl XRInputSourceArray {
}
});
}
+
+ pub fn find(&self, id: InputId) -> Option<DomRoot<XRInputSource>> {
+ self.input_sources
+ .borrow()
+ .iter()
+ .find(|x| x.id() == id)
+ .map(|x| DomRoot::from_ref(&**x))
+ }
}
impl XRInputSourceArrayMethods for XRInputSourceArray {