mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
feat: add can_gc argument to to_frozen_array (#36043)
* feat: add can_gc argument to to_frozen_array Signed-off-by: Arya Nair <aryaajitnair@gmail.com> * fix: linting issues Signed-off-by: Arya Nair <aryaajitnair@gmail.com> * feat: add can_gc in binding.conf Signed-off-by: Arya Nair <aryaajitnair@gmail.com> * fix: linting issues Signed-off-by: Arya Nair <aryaajitnair@gmail.com> --------- Signed-off-by: Arya Nair <aryaajitnair@gmail.com>
This commit is contained in:
parent
0917e080df
commit
cb56ac8561
21 changed files with 97 additions and 43 deletions
|
@ -85,9 +85,9 @@ impl XRBoundedReferenceSpaceMethods<crate::DomTypeHolder> for XRBoundedReference
|
|||
})
|
||||
.collect();
|
||||
|
||||
to_frozen_array(&points, cx, retval)
|
||||
to_frozen_array(&points, cx, retval, can_gc)
|
||||
} else {
|
||||
to_frozen_array::<DomRoot<DOMPointReadOnly>>(&[], cx, retval)
|
||||
to_frozen_array::<DomRoot<DOMPointReadOnly>>(&[], cx, retval, can_gc)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,9 +88,9 @@ impl XRInputSourcesChangeEvent {
|
|||
let _ac = enter_realm(global);
|
||||
let cx = GlobalScope::get_cx();
|
||||
rooted!(in(*cx) let mut frozen_val: JSVal);
|
||||
to_frozen_array(added, cx, frozen_val.handle_mut());
|
||||
to_frozen_array(added, cx, frozen_val.handle_mut(), can_gc);
|
||||
changeevent.added.set(*frozen_val);
|
||||
to_frozen_array(removed, cx, frozen_val.handle_mut());
|
||||
to_frozen_array(removed, cx, frozen_val.handle_mut(), can_gc);
|
||||
changeevent.removed.set(*frozen_val);
|
||||
changeevent
|
||||
}
|
||||
|
|
|
@ -149,10 +149,10 @@ impl XRRenderStateMethods<crate::DomTypeHolder> for XRRenderState {
|
|||
}
|
||||
|
||||
/// <https://immersive-web.github.io/layers/#dom-xrrenderstate-layers>
|
||||
fn Layers(&self, cx: JSContext, retval: MutableHandleValue) {
|
||||
fn Layers(&self, cx: JSContext, can_gc: CanGc, retval: MutableHandleValue) {
|
||||
// TODO: cache this array?
|
||||
let layers = self.layers.borrow();
|
||||
let layers: Vec<&XRLayer> = layers.iter().map(|x| &**x).collect();
|
||||
to_frozen_array(&layers[..], cx, retval)
|
||||
to_frozen_array(&layers[..], cx, retval, can_gc)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1006,10 +1006,10 @@ impl XRSessionMethods<crate::DomTypeHolder> for XRSession {
|
|||
}
|
||||
|
||||
/// <https://www.w3.org/TR/webxr/#dom-xrsession-enabledfeatures>
|
||||
fn EnabledFeatures(&self, cx: JSContext, retval: MutableHandleValue) {
|
||||
fn EnabledFeatures(&self, cx: JSContext, can_gc: CanGc, retval: MutableHandleValue) {
|
||||
let session = self.session.borrow();
|
||||
let features = session.granted_features();
|
||||
to_frozen_array(features, cx, retval)
|
||||
to_frozen_array(features, cx, retval, can_gc)
|
||||
}
|
||||
|
||||
/// <https://www.w3.org/TR/webxr/#dom-xrsession-issystemkeyboardsupported>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue