Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5197b3d514cd7f10db08ecf9ef9f66f67b0419df
      
https://github.com/WebKit/WebKit/commit/5197b3d514cd7f10db08ecf9ef9f66f67b0419df
  Author: Devin Rousso <[email protected]>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M LayoutTests/inspector/canvas/recording-offscreen-webgl-full-expected.txt
    M LayoutTests/inspector/canvas/recording-offscreen-webgl2-full-expected.txt
    M LayoutTests/inspector/canvas/recording-webgl-full-expected.txt
    M LayoutTests/inspector/canvas/recording-webgl-receivers.html
    M LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt
    M LayoutTests/inspector/canvas/recording-webgpu-expected.txt
    M LayoutTests/inspector/canvas/recording-webgpu.html
    R 
LayoutTests/platform/glib/inspector/canvas/recording-webgl-full-expected.txt
    M Source/WebCore/inspector/InspectorCanvas.cpp
    M Source/WebCore/inspector/InspectorCanvas.h
    M Source/WebCore/inspector/InspectorCanvasArguments.cpp
    M Source/WebCore/inspector/InspectorCanvasArguments.h
    M Source/WebCore/inspector/RecordingSwizzleType.h
    M Source/WebInspectorUI/UserInterface/Models/Recording.js
    M Source/WebInspectorUI/UserInterface/Models/RecordingAction.js
    M Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js
    M Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js

  Log Message:
  -----------
  Web Inspector: Canvas: assign recorded object identifiers per type
https://bugs.webkit.org/show_bug.cgi?id=320952

Reviewed by Mike Wyrzykowski.

* Source/WebCore/inspector/RecordingSwizzleType.h:
* Source/WebCore/inspector/InspectorCanvas.h:
* Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::resetRecordingData):
(WebCore::InspectorCanvas::identifierForRecordingObject):
Keep a single object-to-identifier map and a per-`RecordingSwizzleType` 
next-identifier map so objects of different types do not share the same count.

* Source/WebCore/inspector/InspectorCanvasArguments.h:
(WebCore::recordingSwizzleTypeForWebGLReceiver): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<IDLType>>::operator()):
* Source/WebCore/inspector/InspectorCanvasArguments.cpp:
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLBuffer>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLFramebuffer>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLProgram>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLQuery>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLRenderbuffer>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLSampler>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLShader>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLSync>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLTimerQueryEXT>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLTexture>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLUniformLocation>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLVertexArrayObject>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLVertexArrayObjectOES>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInterface<WebGLTransformFeedback>>::operator()):
 Deleted.
Route WebGL objects through `InspectorCanvas::identifierForRecordingObject` 
using the wrapper address, matching WebGL extensions and WebGPU objects.

* Source/WebInspectorUI/UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.isObjectSwizzleType): Added.
(WI.Recording.prototype.displayNameForReceiver): Added.
* Source/WebInspectorUI/UserInterface/Models/RecordingAction.js:
(WI.RecordingAction.prototype.get recordingObjectIdentifiers): Added.
(WI.RecordingAction.prototype.swizzle):
* Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._recordingChanged):
(WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement):
* Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement):
(WI.RecordingActionTreeElement._generateDOM):
Omit the identifier when a recording only contains one object of a given type, 
but include it for every object when there are multiple.

* LayoutTests/inspector/canvas/recording-webgl-full-expected.txt:
* LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-webgl-full-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-webgl2-full-expected.txt:
* LayoutTests/inspector/canvas/recording-webgl-receivers.html:
* LayoutTests/inspector/canvas/recording-webgpu.html:
* LayoutTests/inspector/canvas/recording-webgpu-expected.txt:

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



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

Reply via email to