diff --git a/index.bs b/index.bs index 6ad1a3ca..3a74f097 100644 --- a/index.bs +++ b/index.bs @@ -302,7 +302,7 @@ Each time the [=list of immersive XR devices=] changes the user agent should devicechange on the [=context object=]'s {{Window/navigator}}'s {{Navigator/xr}}. 1. [=Queue a task=] to fire appropriate `change` events on any {{XRPermissionStatus}} objects who are affected by the change in the [=immersive XR device=] or [=/inline XR device=]. Note: These steps should always be run [=in parallel=]. @@ -324,7 +324,7 @@ Note: These steps should always be run [=in parallel=]. -The ondevicechange attribute is an [=Event handler IDL attribute=] for the {{devicechange}} event type. +The ondevicechange attribute is an [=Event handler IDL attribute=] for the devicechange event type.
The isSessionSupported(|mode|) method queries if a given |mode| may be supported by the user agent and device capabilities. @@ -1689,12 +1689,19 @@ An {{XRPose}} describes a position and orientation in space relative to an {{XRS
 [SecureContext, Exposed=Window] interface XRPose {
   [SameObject] readonly attribute XRRigidTransform transform;
+  [SameObject] readonly attribute DOMPointReadOnly? linearVelocity;
+  [SameObject] readonly attribute DOMPointReadOnly? angularVelocity;
+
   readonly attribute boolean emulatedPosition;
 };
 
The transform attribute describes the position and orientation relative to the base {{XRSpace}}. +The linearVelocity attribute describes the linear velocity in meters per second relative to the base {{XRSpace}}. If the user agent can't populate this, it's allowed to return null. + +The angularVelocity attribute describes the angular velocity in meters per second relative to the base {{XRSpace}}. If the user agent can't populate this, it's allowed to return null. + The emulatedPosition attribute is `false` when the {{XRPose/transform}} represents an actively tracked [=6DoF=] pose based on sensor readings, or `true` if its {{XRRigidTransform/position}} value includes a computed offset, such as that provided by a neck or arm model. [=Estimated floor level=]s MUST NOT be considered when determining if an {{XRPose}} includes a [=XRPose/computed offset=]. XRViewerPose {#xrviewerpose-interface} @@ -2609,7 +2616,7 @@ The trusted UI must be drawn by an independent rendering context whose state is Also, to prevent CORS-related vulnerabilities each [=browsing context=] will see a new instance of objects returned by the API, such as {{XRSession}}. Attributes such as the [=XRWebGLLayer/context=] set on an {{XRWebGLLayer}} with one [=relevant realm=] should not be able to be read through an {{XRWebGLLayer}} with a [=relevant realm=] that does not have the [=same origin=]. Similarly, methods invoked on the API MUST NOT cause an observable state change on other [=browsing contexts=]. For example: No method will be exposed that enables a system-level orientation reset, as this could be called repeatedly by a malicious page to prevent other pages from tracking properly. The user agent MUST, however, respect system-level orientation resets triggered by a user gesture or system menu. -Note: this doesn't apply to state changes that are caused by one [=browsing context=] entering immersive mode, acquiring a lock on the device, and potentially firing {{devicechange}} events on other [=browsing contexts=]. +Note: this doesn't apply to state changes that are caused by one [=browsing context=] entering immersive mode, acquiring a lock on the device, and potentially firing devicechange events on other [=browsing contexts=]. Fingerprinting {#fingerprinting-security} -------------- @@ -2677,7 +2684,7 @@ Integrations {#integrations} Permissions Policy {#permissions-policy} -------------- -This specification defines a [=policy-controlled feature=] that controls whether any {{XRSession}} that requires the use of spatial tracking may be returned by {{XRSystem/requestSession()}}, and whether support for session modes that require spatial tracking may be indicated by either {{XRSystem/isSessionSupported()}} or {{devicechange}} events on the {{Navigator/xr|navigator.xr}} object. +This specification defines a [=policy-controlled feature=] that controls whether any {{XRSession}} that requires the use of spatial tracking may be returned by {{XRSystem/requestSession()}}, and whether support for session modes that require spatial tracking may be indicated by either {{XRSystem/isSessionSupported()}} or devicechange events on the {{Navigator/xr|navigator.xr}} object. The feature identifier for this feature is `"xr-spatial-tracking"`.