#782: WebXR Device API XRSession::enabledFeatures attribute (CR Delta)

Visit on Github.

Opened Oct 20, 2022

Wotcher TAG!

I'm requesting a TAG review of the WebXR XRSession::enabledFeatures attribute.

This is a modification to the existing WebXR API since CR (the only one to date) to allow exposing “enabledFeatures” from the XRSession object. This allows developers to detect what features they requested actually end up enabled on the session. While most features have some ability to be detected, some features may have similar failure modes for not being enabled and being enabled but not currently having data to supply (many reference spaces for example). Some features (such as the newly proposed front-facing camera), don’t have any observable effects or any other way for us to signal to developers that it was enabled. While developers can be sure that if they received an XRSession they were granted all of their “requiredFeatures”, they cannot be sure of the state of their “optionalFeatures”.

  • Explainer¹ (minimally containing user needs and example code): Overall WebXR Explainer
  • Specification URL: relevant section of the spec
  • Tests: url (Note that tests for this feature have not been written yet)
  • User research: N/a
  • Security and Privacy self-review²: No major changes from existing WebXR Security and Privacy review; most of the data should be available already during the course of normal operation, so this only provides an easier way to access data that is mostly already exposed/observable, and is only available once an XRSession has been granted.
  • GitHub repo (if you prefer feedback filed there): url
  • Primary contacts (and their relationship to the specification):
    • Brandon Jones (@toji), Google, Editor
    • Manish Goregaokar, (@manishearth), Google, Editor
    • Rik Cabanier (@cabanier), Meta, Editor
    • Ada Rose Cannon (@AdaRoseCannon), Apple, Chair
    • Chris Wilson (@cwilso), Google, Chair
    • Ayşegül Yönet (@yonet), Microsoft, Chair
  • Organization(s)/project(s) driving the specification: Immersive Web Working Group
  • Key pieces of existing multi-stakeholder review or discussion of this specification:
  • External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): https://chromestatus.com/feature/5680169905815552 https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API#browser_compatibility

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines: Chrome would like to add this attribute by EOY/Q1 at the latest
  • The group where the work on this specification is currently being done: Immersive Web
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): N/a
  • Major unresolved issues with or opposition to this specification: N/a
  • This work is being funded by:

You should also know that... N/a

We'd prefer the TAG provide feedback as (please delete all but the desired option):

🐛 open issues in our GitHub repo for each point of feedback

Discussions

2022-11-28

Minutes

Dan: claiming they don't need a new explainer because its an elaboration on an existing thing. They pointed us to the overall webxr explainer and a section of the spec

Peter: seems minor

Dan: there's multi stakeholder support (Google, Apple, Microsoft are primary contacts). Shall we close it?

Peter: +1. I don't see any privacy issues. Can't think of any harm from this. Seems reasonable. They have a note about dynamic viewport scaling

Dan: that was resolution satisfied

Dan: [leaves comment and sparkles]