aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrinputsourcearray.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2019-10-08 15:07:18 -0700
committerManish Goregaokar <manishsmail@gmail.com>2019-10-08 15:34:20 -0700
commit868e5cbd6220d39b08ceee2fa62521d4c51be596 (patch)
tree1cd69c06d7c1b57fdfedc04c5f26d36903ea132d /components/script/dom/xrinputsourcearray.rs
parent0777233412359f49acd542916910e7ec6ed4dac2 (diff)
downloadservo-868e5cbd6220d39b08ceee2fa62521d4c51be596.tar.gz
servo-868e5cbd6220d39b08ceee2fa62521d4c51be596.zip
Add methods to XRInputSourceArray
Diffstat (limited to 'components/script/dom/xrinputsourcearray.rs')
-rw-r--r--components/script/dom/xrinputsourcearray.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/components/script/dom/xrinputsourcearray.rs b/components/script/dom/xrinputsourcearray.rs
index bf63e38e073..b0565940373 100644
--- a/components/script/dom/xrinputsourcearray.rs
+++ b/components/script/dom/xrinputsourcearray.rs
@@ -4,6 +4,7 @@
use crate::dom::bindings::cell::DomRefCell;
use crate::dom::bindings::codegen::Bindings::XRInputSourceArrayBinding;
+use crate::dom::bindings::codegen::Bindings::XRInputSourceArrayBinding::XRInputSourceArrayMethods;
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::globalscope::GlobalScope;
@@ -46,3 +47,18 @@ impl XRInputSourceArray {
});
}
}
+
+impl XRInputSourceArrayMethods for XRInputSourceArray {
+ /// https://immersive-web.github.io/webxr/#dom-xrinputsourcearray-length
+ fn Length(&self) -> u32 {
+ self.input_sources.borrow().len() as u32
+ }
+
+ /// https://immersive-web.github.io/webxr/#xrinputsourcearray
+ fn IndexedGetter(&self, n: u32) -> Option<DomRoot<XRInputSource>> {
+ self.input_sources
+ .borrow()
+ .get(n as usize)
+ .map(|x| DomRoot::from_ref(&**x))
+ }
+}