@@ -47,8 +47,8 @@ namespace gfx {
4747// and mapped files if we have both release and nightlies
4848// running at the same time? Or...what if we have multiple
4949// release builds running on same machine? (Bug 1563232)
50- #define SHMEM_VERSION " 0.0.7 "
51- static const int32_t kVRExternalVersion = 14 ;
50+ #define SHMEM_VERSION " 0.0.8 "
51+ static const int32_t kVRExternalVersion = 15 ;
5252
5353// We assign VR presentations to groups with a bitmask.
5454// Currently, we will only display either content or chrome.
@@ -131,6 +131,16 @@ enum class ControllerCapabilityFlags : uint16_t {
131131
132132#endif // ifndef MOZILLA_INTERNAL_API
133133
134+ enum class VRControllerType : uint8_t {
135+ _empty,
136+ Vive,
137+ WMR ,
138+ Knuckles,
139+ Cosmos,
140+ OculusTouch,
141+ _end
142+ };
143+
134144enum class TargetRayMode : uint8_t { Gaze, TrackedPointer, Screen };
135145
136146enum class GamepadMappingType : uint8_t { _empty, Standard, XRStandard };
@@ -341,6 +351,9 @@ struct VRControllerState {
341351#else
342352 ControllerHand hand;
343353#endif
354+ // For WebXR->WebVR mapping conversion, once we remove WebVR,
355+ // we can remove this item.
356+ VRControllerType type;
344357 // https://immersive-web.github.io/webxr/#enumdef-xrtargetraymode
345358 TargetRayMode targetRayMode;
346359
@@ -551,15 +564,15 @@ enum class VRTelemetryId : uint8_t {
551564 TOTAL = 4 ,
552565};
553566
554- enum class VRTelemetryInstallFrom : uint8_t {
567+ enum class VRTelemetryInstallFrom : uint8_t {
555568 User = 0 ,
556569 FxR = 1 ,
557570 HTC = 2 ,
558571 Valve = 3 ,
559572 TOTAL = 4 ,
560573};
561574
562- enum class VRTelemetryEntryMethod : uint8_t {
575+ enum class VRTelemetryEntryMethod : uint8_t {
563576 SystemBtn = 0 ,
564577 Library = 1 ,
565578 Gaze = 2 ,
0 commit comments