diff options
author | chickenleaf <lashwinib@gmail.com> | 2024-10-18 19:12:43 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-18 13:42:43 +0000 |
commit | af6154cf630bd498f8b5afbd8a321eb4a45463b6 (patch) | |
tree | 364dcf5c2d2cfd247716eed34bc04d0aa136c263 /components/script/dom/xrframe.rs | |
parent | fde8d72acabb6f8314efe0e66312c02a488a7613 (diff) | |
download | servo-af6154cf630bd498f8b5afbd8a321eb4a45463b6.tar.gz servo-af6154cf630bd498f8b5afbd8a321eb4a45463b6.zip |
More files with CanGc fixes (#33892)
* More files with CanGc fixes
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* removed the can_gc inside !task
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Diffstat (limited to 'components/script/dom/xrframe.rs')
-rw-r--r-- | components/script/dom/xrframe.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/components/script/dom/xrframe.rs b/components/script/dom/xrframe.rs index 8c3ac5e80e9..bda3cfea978 100644 --- a/components/script/dom/xrframe.rs +++ b/components/script/dom/xrframe.rs @@ -25,6 +25,7 @@ use crate::dom::xrreferencespace::XRReferenceSpace; use crate::dom::xrsession::{ApiPose, XRSession}; use crate::dom::xrspace::XRSpace; use crate::dom::xrviewerpose::XRViewerPose; +use crate::script_runtime::CanGc; #[dom_struct] pub struct XRFrame { @@ -92,6 +93,7 @@ impl XRFrameMethods for XRFrame { fn GetViewerPose( &self, reference: &XRReferenceSpace, + can_gc: CanGc, ) -> Result<Option<DomRoot<XRViewerPose>>, Error> { if self.session != reference.upcast::<XRSpace>().session() { return Err(Error::InvalidState); @@ -116,6 +118,7 @@ impl XRFrameMethods for XRFrame { &self.session, to_base, viewer_pose, + can_gc, ))) } @@ -124,6 +127,7 @@ impl XRFrameMethods for XRFrame { &self, space: &XRSpace, base_space: &XRSpace, + can_gc: CanGc, ) -> Result<Option<DomRoot<XRPose>>, Error> { if self.session != space.session() || self.session != base_space.session() { return Err(Error::InvalidState); @@ -142,7 +146,7 @@ impl XRFrameMethods for XRFrame { return Ok(None); }; let pose = space.then(&base_space.inverse()); - Ok(Some(XRPose::new(&self.global(), pose))) + Ok(Some(XRPose::new(&self.global(), pose, can_gc))) } /// <https://immersive-web.github.io/webxr/#dom-xrframe-getpose> @@ -150,6 +154,7 @@ impl XRFrameMethods for XRFrame { &self, space: &XRJointSpace, base_space: &XRSpace, + can_gc: CanGc, ) -> Result<Option<DomRoot<XRJointPose>>, Error> { if self.session != space.upcast::<XRSpace>().session() || self.session != base_space.session() @@ -174,6 +179,7 @@ impl XRFrameMethods for XRFrame { &self.global(), pose.cast_unit(), Some(joint_frame.radius), + can_gc, ))) } |