Add blank XRTest interface

This commit is contained in:
Manish Goregaokar 2019-05-29 13:00:43 -07:00
parent e394c71230
commit 1c07b0f416
5 changed files with 58 additions and 0 deletions

View file

@ -294,6 +294,8 @@ mod gen {
webxr: { webxr: {
#[serde(default)] #[serde(default)]
enabled: bool, enabled: bool,
#[serde(default)]
test: bool,
}, },
worklet: { worklet: {
blockingsleep: { blockingsleep: {

View file

@ -551,6 +551,7 @@ pub mod xrrigidtransform;
pub mod xrsession; pub mod xrsession;
pub mod xrspace; pub mod xrspace;
pub mod xrstationaryreferencespace; pub mod xrstationaryreferencespace;
pub mod xrtest;
pub mod xrview; pub mod xrview;
pub mod xrviewerpose; pub mod xrviewerpose;
pub mod xrviewport; pub mod xrviewport;

View file

@ -0,0 +1,20 @@
/* 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://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<FakeXRDeviceController> simulateDeviceConnection(FakeXRDeviceInit);
// // Simulates a device being disconnected from the system.
// Promise<void> simulateDeviceDisconnection(XRDevice);
// // 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.
// void simulateUserActivation(Function);
};

View file

@ -0,0 +1,34 @@
/* 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/. */
/* 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::codegen::Bindings::XRTestBinding;
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::globalscope::GlobalScope;
use dom_struct::dom_struct;
#[dom_struct]
pub struct XRTest {
reflector: Reflector,
}
impl XRTest {
pub fn new_inherited() -> XRTest {
XRTest {
reflector: Reflector::new(),
}
}
pub fn new(global: &GlobalScope) -> DomRoot<XRTest> {
reflect_dom_object(
Box::new(XRTest::new_inherited()),
global,
XRTestBinding::Wrap,
)
}
}

View file

@ -31,6 +31,7 @@
"dom.webvr.event_polling_interval": 500, "dom.webvr.event_polling_interval": 500,
"dom.webvr.test": false, "dom.webvr.test": false,
"dom.webxr.enabled": false, "dom.webxr.enabled": false,
"dom.webxr.test": false,
"dom.worklet.timeout_ms": 10, "dom.worklet.timeout_ms": 10,
"gfx.subpixel-text-antialiasing.enabled": true, "gfx.subpixel-text-antialiasing.enabled": true,
"js.asmjs.enabled": true, "js.asmjs.enabled": true,