mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
44 lines
1.6 KiB
Text
44 lines
1.6 KiB
Text
/* 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/. */
|
|
|
|
// skip-unless CARGO_FEATURE_WEBXR
|
|
|
|
// https://github.com/immersive-web/webxr-test-api/
|
|
|
|
[Exposed=Window, Pref="dom_webxr_test"]
|
|
interface XRTest {
|
|
// Simulates connecting a device to the system.
|
|
// Used to instantiate a fake device for use in tests.
|
|
Promise<FakeXRDevice> simulateDeviceConnection(FakeXRDeviceInit init);
|
|
|
|
// // Simulates a user activation (aka user gesture) for the current scope.
|
|
// // The activation is only guaranteed to be valid in the provided function and only applies to WebXR
|
|
// // Device API methods.
|
|
undefined simulateUserActivation(Function f);
|
|
|
|
// // Disconnect all fake devices
|
|
Promise<undefined> disconnectAllDevices();
|
|
};
|
|
|
|
dictionary FakeXRDeviceInit {
|
|
boolean supportsImmersive = false;
|
|
sequence<XRSessionMode> supportedModes;
|
|
|
|
required sequence<FakeXRViewInit> views;
|
|
|
|
// this is actually sequence<any>, but we don't support
|
|
// non-string features anyway
|
|
sequence<DOMString> supportedFeatures;
|
|
// Whether the space supports tracking in inline sessions
|
|
boolean supportsTrackingInInline = true;
|
|
// The bounds coordinates. If null, bounded reference spaces are not supported.
|
|
sequence<FakeXRBoundsPoint> boundsCoodinates;
|
|
// Eye level used for calculating floor-level spaces
|
|
FakeXRRigidTransformInit floorOrigin;
|
|
FakeXRRigidTransformInit viewerOrigin;
|
|
|
|
// Hit test extensions:
|
|
FakeXRWorldInit world;
|
|
};
|
|
|