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