Branch: refs/heads/webkitglib/2.50
  Home:   https://github.com/WebKit/WebKit
  Commit: b6e1e980e97d2f97faaa827abb79628c574cd57b
      
https://github.com/WebKit/WebKit/commit/b6e1e980e97d2f97faaa827abb79628c574cd57b
  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:
  -----------
  Cherry-pick 299314@main (488518e09658). 
https://bugs.webkit.org/show_bug.cgi?id=298036

    [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

Canonical link: https://commits.webkit.org/298234.90@webkitglib/2.50


  Commit: 5519f11b83fd6524cd39779225d332693f58f6e6
      
https://github.com/WebKit/WebKit/commit/5519f11b83fd6524cd39779225d332693f58f6e6
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-29 (Fri, 29 Aug 2025)

  Changed paths:
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInputMappings.h
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.h

  Log Message:
  -----------
  Cherry-pick 299321@main (1d859edbec26). 
https://bugs.webkit.org/show_bug.cgi?id=298091

    [WebXR][OpenXR] Unreliable click events using hand interaction profile
    https://bugs.webkit.org/show_bug.cgi?id=298091

    Reviewed by Adrian Perez de Castro.

    The pinch gesture is measured by the pinch_ext/value path which
    defines a float in the [0, 1] range, with 1 meaning both fingers
    touching. The OpenXR spec does not define a press or touch paths
    for pinches so clients must decide when the value means a pinch
    (or a click).

    Values returned by runtimes vary a lot so we cannot trust them.
    It's better so set our own threshold to consider a pinch gesture
    as taking action. Experience tells us that 0.9 is a very good one.

    There is no need to apply those thresholds for controllers, because
    runtimes provide touch and press events for physical elements like
    triggers or buttons. That's why we apply this threshold only when
    the hand interaction profile is used.

    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputMappings.h:
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp:
    (WebKit::OpenXRInputSource::updateInteractionProfile):
    (WebKit::OpenXRInputSource::collectButton const):
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.h:

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

Canonical link: https://commits.webkit.org/298234.91@webkitglib/2.50


Compare: https://github.com/WebKit/WebKit/compare/95653630dd93...5519f11b83fd

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