Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 488518e096587a812b5432fe204a79b705794cc6
      
https://github.com/WebKit/WebKit/commit/488518e096587a812b5432fe204a79b705794cc6
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-29 (Fri, 29 Aug 2025)

  Changed paths:
    M Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.h
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInput.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInput.h
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.h
    M Source/WebKit/UIProcess/XR/openxr/OpenXRUtils.h
    M Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp
    M Source/cmake/OptionsGTK.cmake
    M Source/cmake/OptionsWPE.cmake

  Log Message:
  -----------
  [WebXR][OpenXR] Implement WebXR Hand Input module
https://bugs.webkit.org/show_bug.cgi?id=298036

Reviewed by Adrian Perez de Castro.

This change adds support for the WebXR Hand Input module
(https://www.w3.org/TR/webxr-hand-input-1/) for ports using
OpenXR.

It basically uses an object called tracker that is able to
collect pose information about the hand joints. The OpenXR
API actually provide information for 1 joint more than the
WebXR spec (the palm joint) so we must omit it when submitting
joints information to WebXR.

Systems supporting the XR_EXT_hand_joints_motion_range
extension can make use of it and request hand tracking data
considering the full motion range of a human hand.

A new system properties object was added so that different
parts of the code can easily check the runtime capabilities
(for example the tracker object should not be created if the
runtime does not support hand tracking even if the extension
is supported, as it happens typically in desktops).

* Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.cpp:
(WebKit::OpenXRExtensions::loadMethods):
* Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.h:
* Source/WebKit/UIProcess/XR/openxr/OpenXRInput.cpp:
(WebKit::OpenXRInput::create):
(WebKit::OpenXRInput::initialize):
* Source/WebKit/UIProcess/XR/openxr/OpenXRInput.h:
* Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp:
(WebKit::OpenXRInputSource::create):
(WebKit::OpenXRInputSource::initialize):
(WebKit::OpenXRInputSource::collectHandTrackingData const):
(WebKit::OpenXRInputSource::collectInputSource const):
* Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.h:
* Source/WebKit/UIProcess/XR/openxr/OpenXRUtils.h:
(WebKit::systemProperties):
* Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:
(WebKit::OpenXRCoordinator::getPrimaryDeviceInfo):
(WebKit::OpenXRCoordinator::startSession):
(WebKit::OpenXRCoordinator::createInstance):
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Canonical link: https://commits.webkit.org/299314@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to