aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webxr/xrsession.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webxr/xrsession.rs')
-rw-r--r--components/script/dom/webxr/xrsession.rs34
1 files changed, 21 insertions, 13 deletions
diff --git a/components/script/dom/webxr/xrsession.rs b/components/script/dom/webxr/xrsession.rs
index fb2a7f6c962..a171a769b71 100644
--- a/components/script/dom/webxr/xrsession.rs
+++ b/components/script/dom/webxr/xrsession.rs
@@ -289,8 +289,14 @@ impl XRSession {
promise.resolve_native(&(), can_gc);
}
// Step 7
- let event =
- XRSessionEvent::new(&self.global(), atom!("end"), false, false, self, can_gc);
+ let event = XRSessionEvent::new(
+ self.global().as_window(),
+ atom!("end"),
+ false,
+ false,
+ self,
+ can_gc,
+ );
event.upcast::<Event>().fire(self.upcast(), can_gc);
},
XREvent::Select(input, kind, ty, frame) => {
@@ -303,11 +309,11 @@ impl XRSession {
let source = self.input_sources.find(input);
let atom_index = if kind == SelectKind::Squeeze { 1 } else { 0 };
if let Some(source) = source {
- let frame = XRFrame::new(&self.global(), self, frame, can_gc);
+ let frame = XRFrame::new(self.global().as_window(), self, frame, can_gc);
frame.set_active(true);
if ty == SelectEvent::Start {
let event = XRInputSourceEvent::new(
- &self.global(),
+ self.global().as_window(),
START_ATOMS[atom_index].clone(),
false,
false,
@@ -319,7 +325,7 @@ impl XRSession {
} else {
if ty == SelectEvent::Select {
let event = XRInputSourceEvent::new(
- &self.global(),
+ self.global().as_window(),
EVENT_ATOMS[atom_index].clone(),
false,
false,
@@ -330,7 +336,7 @@ impl XRSession {
event.upcast::<Event>().fire(self.upcast(), can_gc);
}
let event = XRInputSourceEvent::new(
- &self.global(),
+ self.global().as_window(),
END_ATOMS[atom_index].clone(),
false,
false,
@@ -351,7 +357,7 @@ impl XRSession {
};
self.visibility_state.set(v);
let event = XRSessionEvent::new(
- &self.global(),
+ self.global().as_window(),
atom!("visibilitychange"),
false,
false,
@@ -393,9 +399,10 @@ impl XRSession {
base == base_space
})
.for_each(|space| {
- let offset = XRRigidTransform::new(&self.global(), transform, can_gc);
+ let offset =
+ XRRigidTransform::new(self.global().as_window(), transform, can_gc);
let event = XRReferenceSpaceEvent::new(
- &self.global(),
+ self.global().as_window(),
atom!("reset"),
false,
false,
@@ -462,7 +469,7 @@ impl XRSession {
}
let time = self.global().performance().to_dom_high_res_time_stamp(time);
- let frame = XRFrame::new(&self.global(), self, frame, CanGc::note());
+ let frame = XRFrame::new(self.global().as_window(), self, frame, CanGc::note());
// Step 8-9
frame.set_active(true);
@@ -603,7 +610,7 @@ impl XRSession {
self.framerate.set(rate);
let event = XRSessionEvent::new(
- &self.global(),
+ self.global().as_window(),
Atom::from("frameratechange"),
false,
false,
@@ -862,13 +869,14 @@ impl XRSessionMethods<crate::DomTypeHolder> for XRSession {
}
}
if ty == XRReferenceSpaceType::Bounded_floor {
- let space = XRBoundedReferenceSpace::new(&self.global(), self, can_gc);
+ let space =
+ XRBoundedReferenceSpace::new(self.global().as_window(), self, can_gc);
self.reference_spaces
.borrow_mut()
.push(Dom::from_ref(space.reference_space()));
p.resolve_native(&space, can_gc);
} else {
- let space = XRReferenceSpace::new(&self.global(), self, ty, can_gc);
+ let space = XRReferenceSpace::new(self.global().as_window(), self, ty, can_gc);
self.reference_spaces
.borrow_mut()
.push(Dom::from_ref(&*space));