diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /dom/webidl/VRServiceTest.webidl | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | dom/webidl/VRServiceTest.webidl | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dom/webidl/VRServiceTest.webidl b/dom/webidl/VRServiceTest.webidl new file mode 100644 index 0000000000..f27f072e6b --- /dev/null +++ b/dom/webidl/VRServiceTest.webidl @@ -0,0 +1,84 @@ +/* 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 http://mozilla.org/MPL/2.0/. + * + * This WebIDL is just for WebVR testing. + */ + +[Pref="dom.vr.puppet.enabled", + HeaderFile="mozilla/dom/VRServiceTest.h", + Exposed=Window] +interface VRMockDisplay { + void create(); + attribute boolean capPosition; + attribute boolean capOrientation; + attribute boolean capPresent; + attribute boolean capExternal; + attribute boolean capAngularAcceleration; + attribute boolean capLinearAcceleration; + attribute boolean capStageParameters; + attribute boolean capMountDetection; + attribute boolean capPositionEmulated; + void setEyeFOV(VREye eye, + double upDegree, double rightDegree, + double downDegree, double leftDegree); + void setEyeOffset(VREye eye, double offsetX, + double offsetY, double offsetZ); + void setEyeResolution(unsigned long renderWidth, + unsigned long renderHeight); + void setConnected(boolean connected); + void setMounted(boolean mounted); + void setStageSize(double width, double height); + [Throws] void setSittingToStandingTransform(Float32Array sittingToStandingTransform); + [Throws] void setPose(Float32Array? position, Float32Array? linearVelocity, + Float32Array? linearAcceleration, Float32Array? orientation, + Float32Array? angularVelocity, Float32Array? angularAcceleration); +}; + +[Pref="dom.vr.puppet.enabled", + HeaderFile="mozilla/dom/VRServiceTest.h", + Exposed=Window] +interface VRMockController { + void create(); + void clear(); + attribute GamepadHand hand; + attribute boolean capPosition; + attribute boolean capOrientation; + attribute boolean capAngularAcceleration; + attribute boolean capLinearAcceleration; + attribute unsigned long axisCount; + attribute unsigned long buttonCount; + attribute unsigned long hapticCount; + [Throws] void setPose(Float32Array? position, Float32Array? linearVelocity, + Float32Array? linearAcceleration, Float32Array? orientation, + Float32Array? angularVelocity, Float32Array? angularAcceleration); + void setButtonPressed(unsigned long buttonIdx, boolean pressed); + void setButtonTouched(unsigned long buttonIdx, boolean touched); + void setButtonTrigger(unsigned long buttonIdx, double trigger); + void setAxisValue(unsigned long axisIdx, double value); +}; + +[Pref="dom.vr.puppet.enabled", + HeaderFile="mozilla/dom/VRServiceTest.h", + Exposed=Window] +interface VRServiceTest { + VRMockDisplay getVRDisplay(); + [Throws] VRMockController getVRController(unsigned long controllerIdx); + [Throws] Promise<void> run(); + [Throws] Promise<void> reset(); + void commit(); + void end(); + void clearAll(); + void timeout(unsigned long duration); + void wait(unsigned long duration); + void waitSubmit(); + void waitPresentationStart(); + void waitPresentationEnd(); + [Throws] + void waitHapticIntensity(unsigned long controllerIdx, unsigned long hapticIdx, double intensity); + void captureFrame(); + void acknowledgeFrame(); + void rejectFrame(); + void startTimer(); + void stopTimer(); +}; |