Branch: refs/heads/webkitglib/2.50
  Home:   https://github.com/WebKit/WebKit
  Commit: 0fc17ecc2cb772d8b8e9b023a3f87af2601fb7bf
      
https://github.com/WebKit/WebKit/commit/0fc17ecc2cb772d8b8e9b023a3f87af2601fb7bf
  Author: Ronan Turner <ronan_tur...@apple.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h
    M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm
    M Source/WebKit/Shared/API/Cocoa/WKRemoteObjectCoder.mm
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A 
Tools/TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry-BadReplyBlock.html
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/coreipc-helpers.js
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/coreipc.js

  Log Message:
  -----------
  Cherry-pick 298380@main (c1ec6110d032). 
https://bugs.webkit.org/show_bug.cgi?id=290377

    RemoteObjectRegistry should decode an invocation with a ReplyBlock if 
expected.
    https://bugs.webkit.org/show_bug.cgi?id=290377
    rdar://145728621

    Reviewed by Alex Christensen.

    RemoteObjectRegistry had a logic issue when decoding a RemoteInvocation.

    If a CallReplyBlock message was received, this would contain an encoded 
NSInvocation
    representing the method to call and the arguments. It was possible to 
supply an
    alternate selector, with differing arguments, and still have the original 
ReplyBlock
    called with these, leading to a mismatch in argument types.

    The RemoteObjectRegistry should ensure the NSInvocation is decoded based on 
the original
    expected ReplyBlock, instead of accepting another selector from the wire.

    Originally-landed-as: 289651.466@safari-7621-branch (4a186489a84d). 
rdar://157795161
    Canonical link: https://commits.webkit.org/298380@main

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


  Commit: a3232a30d121f5e517fa869315d25802ec45c591
      
https://github.com/WebKit/WebKit/commit/a3232a30d121f5e517fa869315d25802ec45c591
  Author: Kimmo Kinnunen <kkinnu...@apple.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    M 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Cherry-pick 298468@main (5a63340b3860). 
https://bugs.webkit.org/show_bug.cgi?id=293116

    RemoteGraphicsContextGL should copy GLenum arrays
    https://bugs.webkit.org/show_bug.cgi?id=293116
    rdar://148500598

    Reviewed by Mike Wyrzykowski.

    Move drawBuffers, drawBuffersEXT, invalidateFramebuffer,
    invalidateSubFramebuffer, framebufferDiscard to manual functions and
    copy the enum arrays to Vectors before calling into ANGLE.

    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
    (WebKit::RemoteGraphicsContextGL::drawBuffers):
    (WebKit::RemoteGraphicsContextGL::drawBuffersEXT):
    (WebKit::RemoteGraphicsContextGL::invalidateFramebuffer):
    (WebKit::RemoteGraphicsContextGL::invalidateSubFramebuffer):
    (WebKit::RemoteGraphicsContextGL::framebufferDiscard):
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
    * 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
    (framebufferTextureLayer):
    (drawRangeElements):
    (getTranslatedShaderSourceANGLE):
    (disableFoveation):
    (invalidateFramebuffer): Deleted.
    (invalidateSubFramebuffer): Deleted.
    (drawBuffers): Deleted.
    (drawBuffersEXT): Deleted.
    (framebufferDiscard): Deleted.
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
    (WebKit::RemoteGraphicsContextGLProxy::drawBuffers):
    (WebKit::RemoteGraphicsContextGLProxy::drawBuffersEXT):
    (WebKit::RemoteGraphicsContextGLProxy::invalidateFramebuffer):
    (WebKit::RemoteGraphicsContextGLProxy::invalidateSubFramebuffer):
    (WebKit::RemoteGraphicsContextGLProxy::framebufferDiscard):
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
    * 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
    (WebKit::RemoteGraphicsContextGLProxy::invalidateFramebuffer): Deleted.
    (WebKit::RemoteGraphicsContextGLProxy::invalidateSubFramebuffer): Deleted.
    (WebKit::RemoteGraphicsContextGLProxy::drawBuffers): Deleted.
    (WebKit::RemoteGraphicsContextGLProxy::drawBuffersEXT): Deleted.
    (WebKit::RemoteGraphicsContextGLProxy::framebufferDiscard): Deleted.
    * Tools/Scripts/generate-gpup-webgl:
    (webkit_ipc_cpp_proxy_impl.process_out_args):

    Originally-landed-as: 289651.532@safari-7621-branch (726be12b8c74). 
rdar://157791727
    Canonical link: https://commits.webkit.org/298468@main

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


  Commit: 311e7daa2d87184698b22149949904f10672664a
      
https://github.com/WebKit/WebKit/commit/311e7daa2d87184698b22149949904f10672664a
  Author: Kimmo Kinnunen <kkinnu...@apple.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    A 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.cpp
    M 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/StreamServerConnection.h
    M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm
    M Source/WebKit/Sources.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Cherry-pick 298553@main (c8332b7ff7b2). 
https://bugs.webkit.org/show_bug.cgi?id=297213

    WebGL: Use MESSAGE_CHECK in RemoteGraphicsContextGL
    https://bugs.webkit.org/show_bug.cgi?id=297213
    rdar://158032389

    Reviewed by Dan Glastonbury.

    Support more standard MESSAGE_CHECK to run domain-specific validation
    in WebGL GPUP implementation.

    Move the generated implementations from the
    RemoteGraphicsContextGLFunctionsGenerated.h to the new file
    RemoteGraphicsContextGLFunctionsGenerated.cpp to be able to use the
    macro.

    Needs auxiliary changes:
    - Support EnableBy in .message.in, was edited manually
    - Support not using size_t in .message.in, was edited manually
    - Add GraphicsContextGL::deleteExternalSync() inside WebXR ifdefs
      as expected. Remove the use from GraphicsContextGLCocoa.mm to do so.

    * Source/WebCore/platform/graphics/GraphicsContextGL.h:
    * Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
    * Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
    * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h:
    * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
    (WebCore::GraphicsContextGLCocoa::createExternalSync):
    (WebCore::GraphicsContextGLCocoa::createMetalSharedEventEGLSync):
    (WebCore::GraphicsContextGLCocoa::insertFinishedSignalOrInvoke):
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
    (WebKit::RemoteGraphicsContextGL::messageCheck): Deleted.
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
    * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
    * 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
    (activeTexture): Deleted.
    (attachShader): Deleted.
    (bindAttribLocation): Deleted.
    (bindBuffer): Deleted.
    (bindFramebuffer): Deleted.
    (bindRenderbuffer): Deleted.
    (bindTexture): Deleted.
    (blendColor): Deleted.
    (blendEquation): Deleted.
    (blendEquationSeparate): Deleted.
    (blendFunc): Deleted.
    (blendFuncSeparate): Deleted.
    (checkFramebufferStatus): Deleted.
    (clear): Deleted.
    (clearColor): Deleted.
    (clearDepth): Deleted.
    (clearStencil): Deleted.
    (colorMask): Deleted.
    (compileShader): Deleted.
    (copyTexImage2D): Deleted.
    (copyTexSubImage2D): Deleted.
    (createBuffer): Deleted.
    (createFramebuffer): Deleted.
    (createProgram): Deleted.
    (createRenderbuffer): Deleted.
    (createShader): Deleted.
    (createTexture): Deleted.
    (cullFace): Deleted.
    (deleteBuffer): Deleted.
    (deleteFramebuffer): Deleted.
    (deleteProgram): Deleted.
    (deleteRenderbuffer): Deleted.
    (deleteShader): Deleted.
    (deleteTexture): Deleted.
    (depthFunc): Deleted.
    (depthMask): Deleted.
    (depthRange): Deleted.
    (detachShader): Deleted.
    (disable): Deleted.
    (disableVertexAttribArray): Deleted.
    (drawArrays): Deleted.
    (drawElements): Deleted.
    (enable): Deleted.
    (enableVertexAttribArray): Deleted.
    (finish): Deleted.
    (flush): Deleted.
    (framebufferRenderbuffer): Deleted.
    (framebufferTexture2D): Deleted.
    (frontFace): Deleted.
    (generateMipmap): Deleted.
    (getActiveAttrib): Deleted.
    (getActiveUniform): Deleted.
    (getAttribLocation): Deleted.
    (getBufferParameteri): Deleted.
    (getString): Deleted.
    (getFloatv): Deleted.
    (getIntegerv): Deleted.
    (getIntegeri_v): Deleted.
    (getInteger64): Deleted.
    (getInteger64i): Deleted.
    (getProgrami): Deleted.
    (getBooleanv): Deleted.
    (getFramebufferAttachmentParameteri): Deleted.
    (getProgramInfoLog): Deleted.
    (getRenderbufferParameteri): Deleted.
    (getShaderi): Deleted.
    (getShaderInfoLog): Deleted.
    (getShaderPrecisionFormat): Deleted.
    (getShaderSource): Deleted.
    (getTexParameterf): Deleted.
    (getTexParameteri): Deleted.
    (getUniformfv): Deleted.
    (getUniformiv): Deleted.
    (getUniformuiv): Deleted.
    (getUniformLocation): Deleted.
    (getVertexAttribOffset): Deleted.
    (hint): Deleted.
    (isBuffer): Deleted.
    (isEnabled): Deleted.
    (isFramebuffer): Deleted.
    (isProgram): Deleted.
    (isRenderbuffer): Deleted.
    (isShader): Deleted.
    (isTexture): Deleted.
    (lineWidth): Deleted.
    (linkProgram): Deleted.
    (pixelStorei): Deleted.
    (polygonOffset): Deleted.
    (renderbufferStorage): Deleted.
    (sampleCoverage): Deleted.
    (scissor): Deleted.
    (shaderSource): Deleted.
    (stencilFunc): Deleted.
    (stencilFuncSeparate): Deleted.
    (stencilMask): Deleted.
    (stencilMaskSeparate): Deleted.
    (stencilOp): Deleted.
    (stencilOpSeparate): Deleted.
    (texParameterf): Deleted.
    (texParameteri): Deleted.
    (uniform1f): Deleted.
    (uniform1fv): Deleted.
    (uniform1i): Deleted.
    (uniform1iv): Deleted.
    (uniform2f): Deleted.
    (uniform2fv): Deleted.
    (uniform2i): Deleted.
    (uniform2iv): Deleted.
    (uniform3f): Deleted.
    (uniform3fv): Deleted.
    (uniform3i): Deleted.
    (uniform3iv): Deleted.
    (uniform4f): Deleted.
    (uniform4fv): Deleted.
    (uniform4i): Deleted.
    (uniform4iv): Deleted.
    (uniformMatrix2fv): Deleted.
    (uniformMatrix3fv): Deleted.
    (uniformMatrix4fv): Deleted.
    (useProgram): Deleted.
    (validateProgram): Deleted.
    (vertexAttrib1f): Deleted.
    (vertexAttrib1fv): Deleted.
    (vertexAttrib2f): Deleted.
    (vertexAttrib2fv): Deleted.
    (vertexAttrib3f): Deleted.
    (vertexAttrib3fv): Deleted.
    (vertexAttrib4f): Deleted.
    (vertexAttrib4fv): Deleted.
    (vertexAttribPointer): Deleted.
    (viewport): Deleted.
    (bufferData0): Deleted.
    (bufferData1): Deleted.
    (bufferSubData): Deleted.
    (readPixelsBufferObject): Deleted.
    (texImage2D0): Deleted.
    (texImage2D1): Deleted.
    (texSubImage2D0): Deleted.
    (texSubImage2D1): Deleted.
    (compressedTexImage2D0): Deleted.
    (compressedTexImage2D1): Deleted.
    (compressedTexSubImage2D0): Deleted.
    (compressedTexSubImage2D1): Deleted.
    (drawArraysInstanced): Deleted.
    (drawElementsInstanced): Deleted.
    (vertexAttribDivisor): Deleted.
    (createVertexArray): Deleted.
    (deleteVertexArray): Deleted.
    (isVertexArray): Deleted.
    (bindVertexArray): Deleted.
    (copyBufferSubData): Deleted.
    (blitFramebuffer): Deleted.
    (framebufferTextureLayer): Deleted.
    (readBuffer): Deleted.
    (renderbufferStorageMultisample): Deleted.
    (texStorage2D): Deleted.
    (texStorage3D): Deleted.
    (texImage3D0): Deleted.
    (texImage3D1): Deleted.
    (texSubImage3D0): Deleted.
    (texSubImage3D1): Deleted.
    (copyTexSubImage3D): Deleted.
    (compressedTexImage3D0): Deleted.
    (compressedTexImage3D1): Deleted.
    (compressedTexSubImage3D0): Deleted.
    (compressedTexSubImage3D1): Deleted.
    (getFragDataLocation): Deleted.
    (uniform1ui): Deleted.
    (uniform2ui): Deleted.
    (uniform3ui): Deleted.
    (uniform4ui): Deleted.
    (uniform1uiv): Deleted.
    (uniform2uiv): Deleted.
    (uniform3uiv): Deleted.
    (uniform4uiv): Deleted.
    (uniformMatrix2x3fv): Deleted.
    (uniformMatrix3x2fv): Deleted.
    (uniformMatrix2x4fv): Deleted.
    (uniformMatrix4x2fv): Deleted.
    (uniformMatrix3x4fv): Deleted.
    (uniformMatrix4x3fv): Deleted.
    (vertexAttribI4i): Deleted.
    (vertexAttribI4iv): Deleted.
    (vertexAttribI4ui): Deleted.
    (vertexAttribI4uiv): Deleted.
    (vertexAttribIPointer): Deleted.
    (drawRangeElements): Deleted.
    (clearBufferiv): Deleted.
    (clearBufferuiv): Deleted.
    (clearBufferfv): Deleted.
    (clearBufferfi): Deleted.
    (createQuery): Deleted.
    (deleteQuery): Deleted.
    (isQuery): Deleted.
    (beginQuery): Deleted.
    (endQuery): Deleted.
    (getQuery): Deleted.
    (getQueryObjectui): Deleted.
    (createSampler): Deleted.
    (deleteSampler): Deleted.
    (isSampler): Deleted.
    (bindSampler): Deleted.
    (samplerParameteri): Deleted.
    (samplerParameterf): Deleted.
    (getSamplerParameterf): Deleted.
    (getSamplerParameteri): Deleted.
    (fenceSync): Deleted.
    (isSync): Deleted.
    (deleteSync): Deleted.
    (clientWaitSync): Deleted.
    (waitSync): Deleted.
    (getSynci): Deleted.
    (createTransformFeedback): Deleted.
    (deleteTransformFeedback): Deleted.
    (isTransformFeedback): Deleted.
    (bindTransformFeedback): Deleted.
    (beginTransformFeedback): Deleted.
    (endTransformFeedback): Deleted.
    (transformFeedbackVaryings): Deleted.
    (getTransformFeedbackVarying): Deleted.
    (pauseTransformFeedback): Deleted.
    (resumeTransformFeedback): Deleted.
    (bindBufferBase): Deleted.
    (bindBufferRange): Deleted.
    (getUniformIndices): Deleted.
    (getActiveUniforms): Deleted.
    (getUniformBlockIndex): Deleted.
    (getActiveUniformBlockName): Deleted.
    (uniformBlockBinding): Deleted.
    (getActiveUniformBlockiv): Deleted.
    (getTranslatedShaderSourceANGLE): Deleted.
    (createQueryEXT): Deleted.
    (deleteQueryEXT): Deleted.
    (isQueryEXT): Deleted.
    (beginQueryEXT): Deleted.
    (endQueryEXT): Deleted.
    (queryCounterEXT): Deleted.
    (getQueryiEXT): Deleted.
    (getQueryObjectiEXT): Deleted.
    (getQueryObjectui64EXT): Deleted.
    (getInteger64EXT): Deleted.
    (enableiOES): Deleted.
    (disableiOES): Deleted.
    (blendEquationiOES): Deleted.
    (blendEquationSeparateiOES): Deleted.
    (blendFunciOES): Deleted.
    (blendFuncSeparateiOES): Deleted.
    (colorMaskiOES): Deleted.
    (drawArraysInstancedBaseInstanceANGLE): Deleted.
    (drawElementsInstancedBaseVertexBaseInstanceANGLE): Deleted.
    (clipControlEXT): Deleted.
    (provokingVertexANGLE): Deleted.
    (polygonModeANGLE): Deleted.
    (polygonOffsetClampEXT): Deleted.
    (renderbufferStorageMultisampleANGLE): Deleted.
    (getInternalformativ): Deleted.
    (setDrawingBufferColorSpace): Deleted.
    (createExternalImage): Deleted.
    (deleteExternalImage): Deleted.
    (bindExternalImage): Deleted.
    (createExternalSync): Deleted.
    (deleteExternalSync): Deleted.
    (enableRequiredWebXRExtensions): Deleted.
    (addFoveation): Deleted.
    (enableFoveation): Deleted.
    (disableFoveation): Deleted.
    (framebufferResolveRenderbuffer): Deleted.
    * Source/WebKit/Platform/IPC/Connection.h:
    (IPC::Connection::isIncomingMessagesThrottlingEnabled const):
    (IPC::markCurrentlyDispatchedMessageAsInvalid):
    * Source/WebKit/Platform/IPC/StreamServerConnection.h:
    (IPC::markCurrentlyDispatchedMessageAsInvalid):
    * Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm:
    (WebKit::RemoteObjectRegistry::callReplyBlock):
    * Source/WebKit/Sources.txt:
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
    * 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
    (WebKit::RemoteGraphicsContextGLProxy::createExternalSync):
    * Tools/Scripts/generate-gpup-webgl:
    (cpp_func):
    (cpp_func.__init__):
    (webkit_ipc_msg):
    (webkit_ipc_msg.__init__):
    (webkit_ipc_msg.__str__):
    (webkit_ipc_cpp_impl):
    (webkit_ipc_cpp_impl.__init__):
    (webkit_ipc_cpp_impl.process_in_arg):
    (webkit_ipc_cpp_impl.process_out_arg):
    (webkit_ipc_cpp_impl.process_return_value):
    (webkit_ipc_cpp_impl.get_declaration):
    (webkit_ipc_cpp_impl.get_definition):
    (ns):
    (context_cpp_webkit_ipc_generator.close_cond):
    (context_cpp_webkit_ipc_generator):
    (context_cpp_webkit_ipc_generator.get_declarations):
    (context_cpp_webkit_ipc_generator.get_definitions):
    (context_cpp_webkit_ipc_generator.generate):
    (create_cpp_arg_list):
    (create_cpp_func):
    (main):
    (webkit_ipc_cpp_impl.__str__): Deleted.
    (webkit_ipc_cpp_impl.ns): Deleted.
    (context_cpp_webkit_ipc_generator.get_functions): Deleted.

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

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


  Commit: ba502413ea16671c8bbea0f9c12489da482a8da9
      
https://github.com/WebKit/WebKit/commit/ba502413ea16671c8bbea0f9c12489da482a8da9
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/SourcesGTK.txt
    M Source/WebCore/SourcesWPE.txt
    M Source/WebCore/platform/TextureMapper.cmake
    A Source/WebCore/platform/graphics/gbm/DRMDevice.h
    M Source/WebCore/platform/graphics/gbm/DRMDeviceManager.cpp
    M Source/WebCore/platform/graphics/gbm/DRMDeviceManager.h
    R Source/WebCore/platform/graphics/gbm/DRMDeviceNode.cpp
    R Source/WebCore/platform/graphics/gbm/DRMDeviceNode.h
    A Source/WebCore/platform/graphics/gbm/GBMDevice.cpp
    A Source/WebCore/platform/graphics/gbm/GBMDevice.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp
    M Source/WebCore/platform/graphics/gbm/MemoryMappedGPUBuffer.cpp
    M Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp
    M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h
    M Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in
    M Source/WebKit/GPUProcess/glib/GPUProcessGLib.cpp
    M Source/WebKit/PlatformGTK.cmake
    M Source/WebKit/PlatformWPE.cmake
    M Source/WebKit/Shared/WebProcessCreationParameters.h
    M Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
    A Source/WebKit/Shared/gbm/DRMDevice.serialization.in
    M Source/WebKit/Shared/glib/RendererBufferFormat.h
    M Source/WebKit/Shared/glib/RendererBufferFormat.serialization.in
    M Source/WebKit/SourcesGTK.txt
    M Source/WebKit/SourcesWPE.txt
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    R Source/WebKit/UIProcess/glib/DRMDevice.cpp
    R Source/WebKit/UIProcess/glib/DRMDevice.h
    A Source/WebKit/UIProcess/glib/DRMMainDevice.cpp
    A Source/WebKit/UIProcess/glib/DRMMainDevice.h
    M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp
    M Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h
    M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp

  Log Message:
  -----------
  Cherry-pick 298556@main (4d8618153bdc). 
https://bugs.webkit.org/show_bug.cgi?id=296929

    [GTK][WPE] Simplify DRM devices handling
    https://bugs.webkit.org/show_bug.cgi?id=296929

    Reviewed by Nikolas Zimmermann.

    Add DRMDevice helper struct containing a primary and render node and use
    it everywhere instead of specific DRM node paths. This way the
    DRMDeviceManager doesn't need to scan the devices again to find the
    nodes, it receives a DRMDevice with the nodes already set.

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

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


  Commit: dfab2581dd42debb93320a6370e47dc626ca293c
      
https://github.com/WebKit/WebKit/commit/dfab2581dd42debb93320a6370e47dc626ca293c
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/PlatformDisplay.cpp
    M Source/WebCore/platform/graphics/PlatformDisplay.h
    M Source/WebCore/platform/graphics/egl/GLContext.cpp
    M Source/WebCore/platform/graphics/egl/GLContext.h
    M Source/WebCore/platform/graphics/egl/GLContextLibWPE.cpp
    M Source/WebCore/platform/graphics/egl/GLDisplay.cpp
    M Source/WebCore/platform/graphics/egl/GLDisplay.h
    M Source/WebCore/platform/graphics/egl/GLFence.cpp
    M Source/WebCore/platform/graphics/egl/PlatformDisplayDefault.cpp
    M Source/WebCore/platform/graphics/egl/PlatformDisplayDefault.h
    M Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.cpp
    M Source/WebCore/platform/graphics/egl/PlatformDisplaySurfaceless.h
    M Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.cpp
    M Source/WebCore/platform/graphics/gbm/PlatformDisplayGBM.h
    M Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp
    M Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.h
    M Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp
    M Source/WebCore/platform/graphics/win/PlatformDisplayWin.cpp
    M Source/WebCore/platform/graphics/win/PlatformDisplayWin.h
    M Source/WebKit/GPUProcess/graphics/wc/WCSceneContext.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.cpp
    M Source/WebKit/UIProcess/gtk/Display.h
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp

  Log Message:
  -----------
  Cherry-pick 298560@main (9969537eb291). 
https://bugs.webkit.org/show_bug.cgi?id=297215

    [CoordinatedGraphics] Remove GLContext dependency on PlatformDisplay
    https://bugs.webkit.org/show_bug.cgi?id=297215

    Reviewed by Miguel Gomez.

    GLContext is keeping a plain reference to PlatformDisplay because it was
    assumed that global shared display was the only possible
    PlatformDisplay. This patch makes GLDisplay reference counted and
    GLContext now takes a weak reference of a GLDisplay instead of a plain
    reference of a PlatformDisplay. We still keep the constructors taking a
    PlatformDisplay for convenience.

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

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


  Commit: 780255d07334fe7e0047f0e07456d459c91a76e1
      
https://github.com/WebKit/WebKit/commit/780255d07334fe7e0047f0e07456d459c91a76e1
  Author: Adrian Perez de Castro <ape...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebKit/Shared/glib/RendererBufferFormat.h
    M Source/WebKit/WPEPlatform/CMakeLists.txt
    A Source/WebKit/WPEPlatform/wpe/WPEBufferAndroid.cpp
    A Source/WebKit/WPEPlatform/wpe/WPEBufferAndroid.h
    M Source/WebKit/WPEPlatform/wpe/WPEConfig.h.in
    M Source/WebKit/WPEPlatform/wpe/wpe-platform.h
    M Source/cmake/OptionsWPE.cmake

  Log Message:
  -----------
  Cherry-pick 298619@main (fd72faeef06a). 
https://bugs.webkit.org/show_bug.cgi?id=294317

    [WPEPlatform] Introduce support for Android's AHardwareBuffer
    https://bugs.webkit.org/show_bug.cgi?id=294317

    Reviewed by Carlos Garcia Campos.

    Introduce a new WPEBufferAndroid subclass of WPEBuffer that wraps an
    AHardwareBuffer instance. Similarly to WPEBufferDMABuf, it supports
    setting rendering and release fences (as file descriptors). The
    WPEBuffer.import_to_pixels virtual method is left unimplemented for
    now, but it should be possible to provide the operation for buffers
    created with AHARDWAREBUFFER_USAGE_CPU_READ_{RARELY,OFTEN} in the
    future.

    * Source/WebKit/Shared/glib/RendererBufferFormat.h:
    * Source/WebKit/WPEPlatform/CMakeLists.txt:
    * Source/WebKit/WPEPlatform/wpe/WPEBufferAndroid.cpp: Added.
    (createImageEGL15):
    (createImageKHRImageBase):
    (wpeBufferAndroidDisposeEGLImageIfNeeded):
    (wpeBufferAndroidDispose):
    (wpeBufferAndroidImportToEGLImage):
    (wpe_buffer_android_class_init):
    (wpe_buffer_android_new):
    (wpe_buffer_android_get_hardware_buffer):
    (wpe_buffer_android_get_format):
    * Source/WebKit/WPEPlatform/wpe/WPEBufferAndroid.h: Copied from 
Source/WebKit/WPEPlatform/wpe/WPEConfig.h.in.
    * Source/WebKit/WPEPlatform/wpe/WPEConfig.h.in:
    * Source/WebKit/WPEPlatform/wpe/wpe-platform.h:
    * Source/cmake/OptionsWPE.cmake:

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

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


  Commit: 9c22460e4388ad63b2a38e064c8146ab6179b2e6
      
https://github.com/WebKit/WebKit/commit/9c22460e4388ad63b2a38e064c8146ab6179b2e6
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLGBM.cpp

  Log Message:
  -----------
  Cherry-pick 298675@main (85e4462c2a7f). 
https://bugs.webkit.org/show_bug.cgi?id=297267

    [CoordinatedGraphics] Prefer to use ANGLE API to create the fence for WebGL
    https://bugs.webkit.org/show_bug.cgi?id=297267

    Reviewed by Alejandro G. Castro.

    We currently use GLFence which is more convenient and works, but if
    exportable fences are supported, we could use the ANGLE api to create
    the fence, export it to and fd and then import it from the compositor.
    Using ANGLE API we ensure all internal state is handled in sync when the
    fence is added to the context.

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

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


  Commit: b479c1c3afcc6ac20e3080be8ab656e860190328
      
https://github.com/WebKit/WebKit/commit/b479c1c3afcc6ac20e3080be8ab656e860190328
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/egl/GLContext.cpp
    M Source/WebCore/platform/graphics/egl/GLContext.h
    M Source/WebCore/platform/graphics/egl/GLContextWrapper.h
    M Source/WebCore/platform/graphics/egl/GLFence.cpp
    M Source/WebCore/platform/graphics/egl/GLFence.h
    M Source/WebCore/platform/graphics/egl/GLFenceEGL.cpp
    M Source/WebCore/platform/graphics/egl/GLFenceEGL.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp
    M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
    M 
Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
    M 
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M 
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp

  Log Message:
  -----------
  Cherry-pick 298879@main (f36176a1c425). 
https://bugs.webkit.org/show_bug.cgi?id=297315

    [GTK][WPE] Do not use PlartformDisplay::sharedDisplay in GLFenceEGL
    https://bugs.webkit.org/show_bug.cgi?id=297315

    Reviewed by Miguel Gomez.

    Create the GLFence with a GLDisplay and make GLFenceEGL keep a weak
    reference. This allows to use GLFence for other displays too. This patch
    removes the GLFence capabilities, since we can check all the
    capabilities from the GLDisplay or current context.

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

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


  Commit: 1ce3144a2e447f9f6cd7bdecaf7deb645bf93036
      
https://github.com/WebKit/WebKit/commit/1ce3144a2e447f9f6cd7bdecaf7deb645bf93036
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 298948@main (356f67eae831). 
https://bugs.webkit.org/show_bug.cgi?id=297451

    [OpenXR] Use a WorkQueue for the render loop
    https://bugs.webkit.org/show_bug.cgi?id=297451

    Reviewed by Fujii Hironori.

    We currently use a thread to poll the events and process the frame, but
    several objects are created in main thread and used from both threads or
    can be released in both threads too. Using a WorkQueue we can move all
    the session handling to the render thread and simplify the render loop.

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

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


  Commit: 7808ee384d0d22f8215fd086bdf99faa90b7467d
      
https://github.com/WebKit/WebKit/commit/7808ee384d0d22f8215fd086bdf99faa90b7467d
  Author: Simon Pena <sp...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 298952@main (07c0de003086). 
https://bugs.webkit.org/show_bug.cgi?id=297658

    [OpenXR] Unified sources build fix
    https://bugs.webkit.org/show_bug.cgi?id=297658

    Unreviewed build fix.

    Added missing WorkQueue include.

    * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:

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

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


  Commit: 5d110860b981785d27df49a3087e1d91b52fe0ae
      
https://github.com/WebKit/WebKit/commit/5d110860b981785d27df49a3087e1d91b52fe0ae
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 298997@main (3cb8dfda77ea). 
https://bugs.webkit.org/show_bug.cgi?id=297651

    [OpenXR] Do not use PlatformDisplay for XRSession graphics
    https://bugs.webkit.org/show_bug.cgi?id=297651

    Reviewed by Fujii Hironori.

    We can use GLDisplay directly, since PlatformDisplay is designed to be a
    shared display in the web process.

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

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


  Commit: 470570a0aaa8d2324f92ed65b687a6f84624d018
      
https://github.com/WebKit/WebKit/commit/470570a0aaa8d2324f92ed65b687a6f84624d018
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/egl/GLDisplay.cpp
    M Source/WebCore/platform/graphics/egl/GLDisplay.h

  Log Message:
  -----------
  Cherry-pick 299002@main (e140900bf11a). 
https://bugs.webkit.org/show_bug.cgi?id=297715

    [GTK][WPE] GLDisplay::dmabufFormats should be called once per instance not 
per process
    https://bugs.webkit.org/show_bug.cgi?id=297715

    Reviewed by Fujii Hironori.

    We are using a static once flag, which means we only initialize the
    formats for the first instance created in the same process. The same
    happens with GLDisplay::dmabufFormatsForVideo.

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

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


  Commit: 5ff22a333fd4ce66def0c3322a8946353232e8f2
      
https://github.com/WebKit/WebKit/commit/5ff22a333fd4ce66def0c3322a8946353232e8f2
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 299044@main (8829cb72321e). 
https://bugs.webkit.org/show_bug.cgi?id=297717

    [OpenXR] Fallback to use GBM when EGL extension MESA_image_dma_buf_export 
is not available
    https://bugs.webkit.org/show_bug.cgi?id=297717

    Reviewed by Adrian Perez de Castro.

    We are currently using MESA_image_dma_buf_export unconditionally. When
    not available we can use GBM to allocate our own buffer for the web
    process to render into and then we copy it to the openxr texture on end
    frame.

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

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


  Commit: 84e9760b3322eee77dbad793f95cdc448930f7d6
      
https://github.com/WebKit/WebKit/commit/84e9760b3322eee77dbad793f95cdc448930f7d6
  Author: Carlos Garcia Campos <cgar...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 299152@main (46f0a4c36be8). 
https://bugs.webkit.org/show_bug.cgi?id=297891

    [OpenXR] Do not duplicate the DMA-BUF file descriptors before importing the 
external texture
    https://bugs.webkit.org/show_bug.cgi?id=297891

    Reviewed by Sergio Villar Senin.

    We should move the file descriptors in makeExternalImageSource instead.

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

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


  Commit: 5e6aeba9dbe7fc8fb5da309863f9ee4160f288b8
      
https://github.com/WebKit/WebKit/commit/5e6aeba9dbe7fc8fb5da309863f9ee4160f288b8
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp
    M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.h
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M 
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M 
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h
    M Source/WebCore/platform/xr/PlatformXR.h
    M Source/WebKit/Shared/XR/XRDeviceLayer.h
    M Source/WebKit/Shared/XR/XRSystem.serialization.in
    M Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp
    M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp

  Log Message:
  -----------
  Cherry-pick 299154@main (b50c48fd07c7). 
https://bugs.webkit.org/show_bug.cgi?id=297140

    [WebXR][OpenXR] Add EGL fences for WebGL content
    https://bugs.webkit.org/show_bug.cgi?id=297140

    Reviewed by Nikolas Zimmermann.

    Currently there is no guarantee that the WebXR WebGL frames are
    completely rendered before they're submitted to the OpenXR compositor.
    That's why the WebXROpaqueFramebuffer does a glFinish(), blocking the
    WebProcess before returning from endFrame.

    A much better solution is to use EGL fences. The WebProcess will
    create a fence in endFrame(). Then that fence is exported and shared
    to the UI process (via a file descriptor) in the submitFrame() call.

    The UI process then will call wait in the fence before submitting
    the frame to OpenXR. Although OpenXR runtimes guarantee that all the
    GPU commands are finished before displaying the contents of the
    textures, that does not apply to the cases in which there are multiple
    contexts accessing the texture, as it happens in WebKit due to the
    multiprocess architecture.

    Co-authored-by: Carlos Garcia Campos <cgar...@igalia.com>
    Canonical link: https://commits.webkit.org/299154@main

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


  Commit: 6bf0241ef3afb2c5f1732f7ea54786811f3c55fa
      
https://github.com/WebKit/WebKit/commit/6bf0241ef3afb2c5f1732f7ea54786811f3c55fa
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M Source/WebKit/SourcesGTK.txt
    M Source/WebKit/SourcesWPE.txt
    M Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.h
    A Source/WebKit/UIProcess/XR/openxr/OpenXRInput.cpp
    A Source/WebKit/UIProcess/XR/openxr/OpenXRInput.h
    A Source/WebKit/UIProcess/XR/openxr/OpenXRInputMappings.h
    A Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp
    A 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/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.h

  Log Message:
  -----------
  Cherry-pick 299200@main (befb287e6ce7). 
https://bugs.webkit.org/show_bug.cgi?id=297951

    [WebXR][OpenXR] Add input support
    https://bugs.webkit.org/show_bug.cgi?id=297951

    Reviewed by Carlos Garcia Campos.

    This implements the OpenXR machinery required to retrieve the
    available input methods for WebXR sessions as long as the
    information associated to them, like poses, status of buttons,
    axes, etc...

    The OpenXR coordinator just need to instance an OpenXRInput object
    and then ask it to collect the input sources information on every
    frame. The OpenXRInput object in turn instances as many OpenXRInputSources
    as required, typically two (one for each hand). Those input sources
    are the ones that finally query the state of the defined input actions.

    In order to have all the interaction profiles information in a single place
    a OpenXRInputMappings header file was created. That would store all the
    information about the supported interaction profiles and their suggested
    bindings for the different hardware components they support. So far we
    define two supported profiles, the hand interaction profile (useful for
    hand tracking only devices) and the generic simple profile from Khronos
    which must be supported by all OpenXR runtimes.

    These changes required converting the OpenXRExtensions object into a
    singleton as it needs to be accessed by the OpenXRInputSources as well
    (to check the availability of extensions).

    * Source/WebKit/SourcesGTK.txt:
    * Source/WebKit/SourcesWPE.txt:
    * Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.cpp:
    (WebKit::OpenXRExtensions::singleton):
    (WebKit::OpenXRExtensions::OpenXRExtensions):
    (WebKit::OpenXRExtensions::create): Deleted.
    * Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.h:
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInput.cpp: Added.
    (WebKit::OpenXRInput::create):
    (WebKit::OpenXRInput::OpenXRInput):
    (WebKit::OpenXRInput::initialize):
    (WebKit::OpenXRInput::collectInputSources const):
    (WebKit::OpenXRInput::updateInteractionProfile):
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInput.h: Added.
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputMappings.h: Added.
    (WebKit::buttonTypeToString):
    (WebKit::axisTypetoString):
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.cpp: Added.
    (WebKit::OpenXRInputSource::create):
    (WebKit::OpenXRInputSource::OpenXRInputSource):
    (WebKit::OpenXRInputSource::~OpenXRInputSource):
    (WebKit::OpenXRInputSource::initialize):
    (WebKit::OpenXRInputSource::suggestBindings const):
    (WebKit::OpenXRInputSource::collectInputSource const):
    (WebKit::OpenXRInputSource::updateInteractionProfile):
    (WebKit::OpenXRInputSource::createActionSpace const):
    (WebKit::OpenXRInputSource::createAction const):
    (WebKit::OpenXRInputSource::createButtonActions const):
    (WebKit::OpenXRInputSource::createBinding const):
    (WebKit::OpenXRInputSource::getPose const):
    (WebKit::OpenXRInputSource::collectButton const):
    (WebKit::OpenXRInputSource::collectAxis const):
    (WebKit::OpenXRInputSource::getActionState const):
    * Source/WebKit/UIProcess/XR/openxr/OpenXRInputSource.h: Added.
    (WebKit::OpenXRInputSource::actionSet const):
    * Source/WebKit/UIProcess/XR/openxr/OpenXRUtils.h:
    (WebKit::handednessToString):
    * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:
    (WebKit::OpenXRCoordinator::getPrimaryDeviceInfo):
    (WebKit::OpenXRCoordinator::startSession):
    (WebKit::OpenXRCoordinator::createInstance):
    (WebKit::OpenXRCoordinator::initializeDevice):
    (WebKit::OpenXRCoordinator::tryInitializeGraphicsBinding):
    (WebKit::OpenXRCoordinator::createSessionIfNeeded):
    (WebKit::OpenXRCoordinator::cleanupSessionAndAssociatedResources):
    (WebKit::OpenXRCoordinator::handleSessionStateChange):
    (WebKit::OpenXRCoordinator::pollEvents):
    (WebKit::OpenXRCoordinator::populateFrameData):
    (WebKit::OpenXRCoordinator::createReferenceSpacesIfNeeded):
    * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.h:

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

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


  Commit: 2003e7ebb7ad64fbca7506275040e00c2c1bdc59
      
https://github.com/WebKit/WebKit/commit/2003e7ebb7ad64fbca7506275040e00c2c1bdc59
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

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

  Log Message:
  -----------
  Cherry-pick 299248@main (3d60941cd5cb). 
https://bugs.webkit.org/show_bug.cgi?id=298017

    [WebXR][OpenXR] Do not release the OpenXR textures twice in case of error
    https://bugs.webkit.org/show_bug.cgi?id=298017

    Reviewed by Carlos Garcia Campos.

    02a244de@main incorrectly added an extra releaseImage() call in case of 
error
    during OpenXRLayer::startFrame. That's wrong because the only place where 
that
    release should happen is in endFrame() just afer creating the projection 
layer.

    That's because in OpenXR we must always call endFrame once startFrame was 
called
    even if the frame should not be rendered.

    * Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.cpp:
    (WebKit::OpenXRLayerProjection::startFrame):

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

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


  Commit: 6938985f8f472a83f4b7a8970e427a549bbec479
      
https://github.com/WebKit/WebKit/commit/6938985f8f472a83f4b7a8970e427a549bbec479
  Author: Sergio Villar Senin <svil...@igalia.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.cpp
    M Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  Cherry-pick 299249@main (0d7a5cbd330e). 
https://bugs.webkit.org/show_bug.cgi?id=298018

    [WebXR][OpenXR] Hand interaction extension is never enabled
    https://bugs.webkit.org/show_bug.cgi?id=298018

    Reviewed by Carlos Garcia Campos.

    The hand interaction extension is never enabled because it was never
    detected as available even if the runtime supported it. The problem
    was that the code was not properly passing a span to the method that
    checks availability. Instead it was passing a char*.

    * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:
    (WebKit::OpenXRCoordinator::createInstance):

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

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


Compare: https://github.com/WebKit/WebKit/compare/2c20fba0edb4...6938985f8f47

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