aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrviewerpose.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/xrviewerpose.rs')
-rw-r--r--components/script/dom/xrviewerpose.rs23
1 files changed, 19 insertions, 4 deletions
diff --git a/components/script/dom/xrviewerpose.rs b/components/script/dom/xrviewerpose.rs
index 9fc06c671dd..258308a211b 100644
--- a/components/script/dom/xrviewerpose.rs
+++ b/components/script/dom/xrviewerpose.rs
@@ -3,28 +3,43 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::dom::bindings::codegen::Bindings::XRViewerPoseBinding;
+use crate::dom::bindings::codegen::Bindings::XRViewerPoseBinding::XRViewerPoseMethods;
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
-use crate::dom::bindings::root::DomRoot;
+use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::globalscope::GlobalScope;
+use crate::dom::xrview::XRView;
use dom_struct::dom_struct;
#[dom_struct]
pub struct XRViewerPose {
reflector_: Reflector,
+ left: Dom<XRView>,
+ right: Dom<XRView>,
}
impl XRViewerPose {
- fn new_inherited() -> XRViewerPose {
+ fn new_inherited(left: &XRView, right: &XRView) -> XRViewerPose {
XRViewerPose {
reflector_: Reflector::new(),
+ left: Dom::from_ref(left),
+ right: Dom::from_ref(right),
}
}
- pub fn new(global: &GlobalScope) -> DomRoot<XRViewerPose> {
+ pub fn new(global: &GlobalScope, left: &XRView, right: &XRView) -> DomRoot<XRViewerPose> {
reflect_dom_object(
- Box::new(XRViewerPose::new_inherited()),
+ Box::new(XRViewerPose::new_inherited(left, right)),
global,
XRViewerPoseBinding::Wrap,
)
}
}
+
+impl XRViewerPoseMethods for XRViewerPose {
+ fn Views(&self) -> Vec<DomRoot<XRView>> {
+ vec![
+ DomRoot::from_ref(&self.left),
+ DomRoot::from_ref(&self.right),
+ ]
+ }
+}