aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrframe.rs
diff options
context:
space:
mode:
authorchickenleaf <lashwinib@gmail.com>2024-10-18 19:12:43 +0530
committerGitHub <noreply@github.com>2024-10-18 13:42:43 +0000
commitaf6154cf630bd498f8b5afbd8a321eb4a45463b6 (patch)
tree364dcf5c2d2cfd247716eed34bc04d0aa136c263 /components/script/dom/xrframe.rs
parentfde8d72acabb6f8314efe0e66312c02a488a7613 (diff)
downloadservo-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.rs8
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,
)))
}