mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Support .supportedModes to enable newer tests
This commit is contained in:
parent
ef6ee5e2a1
commit
7f353033f4
10 changed files with 32 additions and 22 deletions
|
@ -20,7 +20,9 @@ interface XRTest {
|
|||
};
|
||||
|
||||
dictionary FakeXRDeviceInit {
|
||||
required boolean supportsImmersive;
|
||||
boolean supportsImmersive = false;
|
||||
sequence<XRSessionMode> supportedModes;
|
||||
|
||||
required sequence<FakeXRViewInit> views;
|
||||
|
||||
// this is actually sequence<any>, but we don't support
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
use crate::dom::bindings::callback::ExceptionHandling;
|
||||
use crate::dom::bindings::cell::DomRefCell;
|
||||
use crate::dom::bindings::codegen::Bindings::FunctionBinding::Function;
|
||||
use crate::dom::bindings::codegen::Bindings::XRSystemBinding::XRSessionMode;
|
||||
use crate::dom::bindings::codegen::Bindings::XRTestBinding::{FakeXRDeviceInit, XRTestMethods};
|
||||
use crate::dom::bindings::refcounted::{Trusted, TrustedPromise};
|
||||
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
|
||||
|
@ -119,12 +120,24 @@ impl XRTestMethods for XRTest {
|
|||
None
|
||||
};
|
||||
|
||||
let (mut supports_inline, mut supports_vr, mut supports_ar) = (false, false, false);
|
||||
|
||||
if let Some(ref modes) = init.supportedModes {
|
||||
for mode in modes {
|
||||
match mode {
|
||||
XRSessionMode::Immersive_vr => supports_vr = true,
|
||||
XRSessionMode::Immersive_ar => supports_ar = true,
|
||||
XRSessionMode::Inline => supports_inline = true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let init = MockDeviceInit {
|
||||
viewer_origin: origin,
|
||||
views,
|
||||
supports_inline: false,
|
||||
supports_vr: init.supportsImmersive,
|
||||
supports_ar: false,
|
||||
supports_inline,
|
||||
supports_vr,
|
||||
supports_ar,
|
||||
floor_origin,
|
||||
supported_features,
|
||||
world,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue