diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 15c2e51057c..813f4659a08 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -537,6 +537,7 @@ pub mod xmlserializer; pub mod xr; pub mod xrframe; pub mod xrlayer; +pub mod xrpose; pub mod xrreferencespace; pub mod xrrenderstate; pub mod xrrigidtransform; diff --git a/components/script/dom/webidls/XRPose.webidl b/components/script/dom/webidls/XRPose.webidl new file mode 100644 index 00000000000..939c502a1c9 --- /dev/null +++ b/components/script/dom/webidls/XRPose.webidl @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +// https://immersive-web.github.io/webxr/#xrpose-interface + +[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"] +interface XRPose { + // readonly attribute XRRigidTransform transform; + // readonly attribute boolean emulatedPosition; +}; diff --git a/components/script/dom/xrpose.rs b/components/script/dom/xrpose.rs new file mode 100644 index 00000000000..98ab1914915 --- /dev/null +++ b/components/script/dom/xrpose.rs @@ -0,0 +1,19 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + +use crate::dom::bindings::reflector::Reflector; +use dom_struct::dom_struct; + +#[dom_struct] +pub struct XRPose { + reflector_: Reflector, +} + +impl XRPose { + pub fn new_inherited() -> XRPose { + XRPose { + reflector_: Reflector::new(), + } + } +}