Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1dbd421437f8d1929d74ae8bb8381c9e23b64702
      
https://github.com/WebKit/WebKit/commit/1dbd421437f8d1929d74ae8bb8381c9e23b64702
  Author: Fujii Hironori <[email protected]>
  Date:   2025-09-26 (Fri, 26 Sep 2025)

  Changed paths:
    M Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp

  Log Message:
  -----------
  [OpenXR][GTK][WPE] Don't request exit XR session before a session started
https://bugs.webkit.org/show_bug.cgi?id=299082

Reviewed by Adrian Perez de Castro.

Calling xrRequestExitSession() was failing if an XR session was closed
immediately after the session was created. xrBeginSession() wasn't
called yet at the time. Check m_isSessionRunning before calling
xrRequestExitSession().

If only with the above change, UIClient::didEndXRSession() would be
called without UIClient::didStartXRSession() was called. We have two
choices to solve it.

1. Calling UIClient::didEndXRSession() when the state becomes 
XR_SESSION_STATE_STOPPING.
   UIClient::didStartXRSession() was called on XR_SESSION_STATE_READY.

2. Calling UIClient::didStartXRSession() in OpenXRCoordinator::startSession.
   UIClient::didEndXRSession() is called in 
OpenXRCoordinator::endSessionIfExists.

This change takes 2.

* Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:
(WebKit::OpenXRCoordinator::startSession):
(WebKit::OpenXRCoordinator::endSessionIfExists):
(WebKit::OpenXRCoordinator::handleSessionStateChange):

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



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

Reply via email to