diff options
Diffstat (limited to 'components/script/dom/xrinputsourcearray.rs')
-rw-r--r-- | components/script/dom/xrinputsourcearray.rs | 9 |
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 { |