aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2019-10-11 13:05:36 -0700
committerManish Goregaokar <manishsmail@gmail.com>2019-10-11 13:09:13 -0700
commit26b2f022105249d4e813d3fae52061c347ea8cc4 (patch)
treeac5ff514ba3dcc26cda653ccfeda6a2b3f06839c /components/script
parent66fea732890bf67b4d7b3502bc71b6b77da63e49 (diff)
downloadservo-26b2f022105249d4e813d3fae52061c347ea8cc4.tar.gz
servo-26b2f022105249d4e813d3fae52061c347ea8cc4.zip
Report correct environmentblendmode
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/xrsession.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/components/script/dom/xrsession.rs b/components/script/dom/xrsession.rs
index 35593b10a99..1e63bdb2eaa 100644
--- a/components/script/dom/xrsession.rs
+++ b/components/script/dom/xrsession.rs
@@ -48,7 +48,7 @@ use profile_traits::ipc;
use std::cell::Cell;
use std::mem;
use std::rc::Rc;
-use webxr_api::{self, Event as XREvent, Frame, SelectEvent, Session};
+use webxr_api::{self, EnvironmentBlendMode, Event as XREvent, Frame, SelectEvent, Session};
#[dom_struct]
pub struct XRSession {
@@ -84,8 +84,7 @@ impl XRSession {
XRSession {
eventtarget: EventTarget::new_inherited(),
base_layer: Default::default(),
- // we don't yet support any AR devices
- blend_mode: XREnvironmentBlendMode::Opaque,
+ blend_mode: session.environment_blend_mode().into(),
viewer_space: Default::default(),
session: DomRefCell::new(session),
frame_requested: Cell::new(false),
@@ -463,3 +462,13 @@ pub fn cast_transform<T, U, V, W>(
) -> RigidTransform3D<f32, V, W> {
unsafe { mem::transmute(transform) }
}
+
+impl From<EnvironmentBlendMode> for XREnvironmentBlendMode {
+ fn from(x: EnvironmentBlendMode) -> Self {
+ match x {
+ EnvironmentBlendMode::Opaque => XREnvironmentBlendMode::Opaque,
+ EnvironmentBlendMode::AlphaBlend => XREnvironmentBlendMode::Alpha_blend,
+ EnvironmentBlendMode::Additive => XREnvironmentBlendMode::Additive,
+ }
+ }
+}