Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7e772b2544d87097c636bba5f597a47ac18efc87
      
https://github.com/WebKit/WebKit/commit/7e772b2544d87097c636bba5f597a47ac18efc87
  Author: Sergio Villar Senin <[email protected]>
  Date:   2025-12-01 (Mon, 01 Dec 2025)

  Changed paths:
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.h

  Log Message:
  -----------
  [WebXR] Sessions are never released
https://bugs.webkit.org/show_bug.cgi?id=303061

Reviewed by Mike Wyrzykowski.

WebXR sessions were always leaked due to the existence of the following
reference cycle

   WebXRSession -> WebXRRenderState
       ^                  |
       |                  v
       |___________ WebXRWebGLLayer

By replacing the reference in the layers by a weak pointer we can break
the cycle and thus allow sessions to be eventually released.

* Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::create):
(WebCore::WebXRWebGLLayer::WebXRWebGLLayer):
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to