Add CanGc argument to reflect_dom_object (#34606)

* applied mach fmt

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

Refinements

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

Modified reflect_dom_object signature and all its calls

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

* fix function calls when parameter is passed up

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

---------

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
This commit is contained in:
Domenico Rizzo 2024-12-13 16:51:59 +01:00 committed by GitHub
parent 471d3572b7
commit 0e9746fbbe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
207 changed files with 570 additions and 101 deletions

View file

@ -58,7 +58,11 @@ impl FakeXRDevice {
}
pub fn new(global: &GlobalScope, sender: IpcSender<MockDeviceMsg>) -> DomRoot<FakeXRDevice> {
reflect_dom_object(Box::new(FakeXRDevice::new_inherited(sender)), global)
reflect_dom_object(
Box::new(FakeXRDevice::new_inherited(sender)),
global,
CanGc::note(),
)
}
pub fn disconnect(&self, sender: IpcSender<()>) {

View file

@ -23,6 +23,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::DOMString;
use crate::dom::fakexrdevice::get_origin;
use crate::dom::globalscope::GlobalScope;
use crate::script_runtime::CanGc;
#[dom_struct]
pub struct FakeXRInputController {
@ -52,6 +53,7 @@ impl FakeXRInputController {
reflect_dom_object(
Box::new(FakeXRInputController::new_inherited(sender, id)),
global,
CanGc::note(),
)
}

View file

@ -57,6 +57,7 @@ impl XRBoundedReferenceSpace {
reflect_dom_object(
Box::new(XRBoundedReferenceSpace::new_inherited(session, offset)),
global,
CanGc::note(),
)
}

View file

@ -50,7 +50,11 @@ impl XRFrame {
}
pub fn new(global: &GlobalScope, session: &XRSession, data: Frame) -> DomRoot<XRFrame> {
reflect_dom_object(Box::new(XRFrame::new_inherited(session, data)), global)
reflect_dom_object(
Box::new(XRFrame::new_inherited(session, data)),
global,
CanGc::note(),
)
}
/// <https://immersive-web.github.io/webxr/#xrframe-active>

View file

@ -12,6 +12,7 @@ use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::globalscope::GlobalScope;
use crate::dom::xrinputsource::XRInputSource;
use crate::dom::xrjointspace::XRJointSpace;
use crate::script_runtime::CanGc;
const JOINT_SPACE_MAP: [(XRHandJoint, Joint); 25] = [
(XRHandJoint::Wrist, Joint::Wrist),
@ -130,7 +131,11 @@ impl XRHand {
.expect("Invalid joint name");
field.map(|_| XRJointSpace::new(global, session, id, joint, hand_joint))
});
reflect_dom_object(Box::new(XRHand::new_inherited(source, &spaces)), global)
reflect_dom_object(
Box::new(XRHand::new_inherited(source, &spaces)),
global,
CanGc::note(),
)
}
}

View file

@ -40,6 +40,7 @@ impl XRHitTestResult {
reflect_dom_object(
Box::new(XRHitTestResult::new_inherited(result, frame)),
global,
CanGc::note(),
)
}
}

View file

@ -10,6 +10,7 @@ use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::globalscope::GlobalScope;
use crate::dom::xrsession::XRSession;
use crate::script_runtime::CanGc;
#[dom_struct]
pub struct XRHitTestSource {
@ -37,6 +38,7 @@ impl XRHitTestSource {
reflect_dom_object(
Box::new(XRHitTestSource::new_inherited(id, session)),
global,
CanGc::note(),
)
}

View file

@ -82,6 +82,7 @@ impl XRInputSource {
let source = reflect_dom_object(
Box::new(XRInputSource::new_inherited(global, session, info, can_gc)),
global,
can_gc,
);
let _ac = enter_realm(global);

View file

@ -32,7 +32,11 @@ impl XRInputSourceArray {
}
pub fn new(global: &GlobalScope) -> DomRoot<XRInputSourceArray> {
reflect_dom_object(Box::new(XRInputSourceArray::new_inherited()), global)
reflect_dom_object(
Box::new(XRInputSourceArray::new_inherited()),
global,
CanGc::note(),
)
}
pub fn add_input_sources(&self, session: &XRSession, inputs: &[InputSource], can_gc: CanGc) {

View file

@ -39,6 +39,7 @@ impl XRJointPose {
reflect_dom_object(
Box::new(XRJointPose::new_inherited(&transform, radius)),
global,
can_gc,
)
}
}

View file

@ -13,6 +13,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
use crate::dom::xrsession::{ApiPose, XRSession};
use crate::dom::xrspace::XRSpace;
use crate::script_runtime::CanGc;
#[dom_struct]
pub struct XRJointSpace {
@ -52,6 +53,7 @@ impl XRJointSpace {
reflect_dom_object(
Box::new(Self::new_inherited(session, input, joint, hand_joint)),
global,
CanGc::note(),
)
}

View file

@ -34,7 +34,11 @@ impl XRPose {
can_gc: CanGc,
) -> DomRoot<XRPose> {
let transform = XRRigidTransform::new(global, transform, can_gc);
reflect_dom_object(Box::new(XRPose::new_inherited(&transform)), global)
reflect_dom_object(
Box::new(XRPose::new_inherited(&transform)),
global,
CanGc::note(),
)
}
}

View file

@ -59,6 +59,7 @@ impl XRReferenceSpace {
reflect_dom_object(
Box::new(XRReferenceSpace::new_inherited(session, offset, ty)),
global,
CanGc::note(),
)
}

View file

@ -17,7 +17,7 @@ use crate::dom::bindings::utils::to_frozen_array;
use crate::dom::globalscope::GlobalScope;
use crate::dom::xrlayer::XRLayer;
use crate::dom::xrwebgllayer::XRWebGLLayer;
use crate::script_runtime::JSContext;
use crate::script_runtime::{CanGc, JSContext};
#[dom_struct]
pub struct XRRenderState {
@ -65,6 +65,7 @@ impl XRRenderState {
layers,
)),
global,
CanGc::note(),
)
}

View file

@ -172,6 +172,7 @@ impl XRSession {
mode,
)),
global,
CanGc::note(),
);
ret.attach_event_handler();
ret.setup_raf_loop(frame_receiver);

View file

@ -15,6 +15,7 @@ use crate::dom::xrinputsource::XRInputSource;
use crate::dom::xrjointspace::XRJointSpace;
use crate::dom::xrreferencespace::XRReferenceSpace;
use crate::dom::xrsession::{cast_transform, ApiPose, XRSession};
use crate::script_runtime::CanGc;
#[dom_struct]
pub struct XRSpace {
@ -57,6 +58,7 @@ impl XRSpace {
reflect_dom_object(
Box::new(XRSpace::new_inputspace_inner(session, input, is_grip_space)),
global,
CanGc::note(),
)
}

View file

@ -66,6 +66,7 @@ impl XRSystem {
reflect_dom_object(
Box::new(XRSystem::new_inherited(window.pipeline_id())),
window,
CanGc::note(),
)
}

View file

@ -45,7 +45,7 @@ impl XRTest {
}
pub fn new(global: &GlobalScope) -> DomRoot<XRTest> {
reflect_dom_object(Box::new(XRTest::new_inherited()), global)
reflect_dom_object(Box::new(XRTest::new_inherited()), global, CanGc::note())
}
fn device_obtained(

View file

@ -75,6 +75,7 @@ impl XRView {
view.cast_unit(),
)),
global,
CanGc::note(),
)
}

View file

@ -175,7 +175,11 @@ impl XRViewerPose {
let transform: RigidTransform3D<f32, Viewer, BaseSpace> =
viewer_pose.transform.then(&to_base);
let transform = XRRigidTransform::new(global, cast_transform(transform), can_gc);
let pose = reflect_dom_object(Box::new(XRViewerPose::new_inherited(&transform)), global);
let pose = reflect_dom_object(
Box::new(XRViewerPose::new_inherited(&transform)),
global,
can_gc,
);
let cx = GlobalScope::get_cx();
unsafe {

View file

@ -10,6 +10,7 @@ use crate::dom::bindings::codegen::Bindings::XRViewportBinding::XRViewportMethod
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
use crate::script_runtime::CanGc;
#[dom_struct]
pub struct XRViewport {
@ -27,7 +28,11 @@ impl XRViewport {
}
pub fn new(global: &GlobalScope, viewport: Rect<i32, Viewport>) -> DomRoot<XRViewport> {
reflect_dom_object(Box::new(XRViewport::new_inherited(viewport)), global)
reflect_dom_object(
Box::new(XRViewport::new_inherited(viewport)),
global,
CanGc::note(),
)
}
}