Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1240a421fe562bc191b7b82822b4cd32440bdd47
      
https://github.com/WebKit/WebKit/commit/1240a421fe562bc191b7b82822b4cd32440bdd47
  Author: Devin Rousso <[email protected]>
  Date:   2026-08-12 (Wed, 12 Aug 2026)

  Changed paths:
    A LayoutTests/fast/webgpu/invalid-command-encoder-clear-buffer-expected.txt
    A LayoutTests/fast/webgpu/invalid-command-encoder-clear-buffer.html
    A LayoutTests/inspector/canvas/console-record-webgpu-expected.txt
    A LayoutTests/inspector/canvas/console-record-webgpu.html
    M LayoutTests/inspector/canvas/recording-2d-full-expected.txt
    M LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt
    M LayoutTests/inspector/canvas/recording-html-2d.html
    M 
LayoutTests/inspector/canvas/recording-offscreen-bitmaprenderer-full-expected.txt
    M 
LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-full-expected.txt
    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-full.html
    M LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt
    R LayoutTests/inspector/canvas/recording-webgpu-expected.txt
    A LayoutTests/inspector/canvas/recording-webgpu-frameCount-expected.txt
    A LayoutTests/inspector/canvas/recording-webgpu-frameCount.html
    A LayoutTests/inspector/canvas/recording-webgpu-full-expected.txt
    A LayoutTests/inspector/canvas/recording-webgpu-full.html
    A LayoutTests/inspector/canvas/recording-webgpu-memoryLimit-expected.txt
    A LayoutTests/inspector/canvas/recording-webgpu-memoryLimit.html
    R LayoutTests/inspector/canvas/recording-webgpu.html
    M LayoutTests/inspector/canvas/recording.html
    M
LayoutTests/inspector/canvas/resources/recording-2d.js
    M LayoutTests/inspector/canvas/resources/recording-utilities.js
    M LayoutTests/inspector/canvas/resources/recording-webgl.js
    M LayoutTests/inspector/canvas/resources/recording-webgl2.js
    A LayoutTests/inspector/canvas/resources/recording-webgpu.js
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M Source/JavaScriptCore/inspector/protocol/Recording.json
    M Source/WTF/wtf/JSONValues.cpp
    M Source/WTF/wtf/JSONValues.h
    A Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.cpp
    M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.h
    A Source/WebCore/Modules/WebGPU/GPUBlendComponent.cpp
    M Source/WebCore/Modules/WebGPU/GPUBlendComponent.h
    A Source/WebCore/Modules/WebGPU/GPUBlendState.cpp
    M
Source/WebCore/Modules/WebGPU/GPUBlendState.h
    A Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.h
    A Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUColorDict.cpp
    M Source/WebCore/Modules/WebGPU/GPUColorDict.h
    A Source/WebCore/Modules/WebGPU/GPUColorTargetState.cpp
    M Source/WebCore/Modules/WebGPU/GPUColorTargetState.h
    A Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrites.cpp
    M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrites.h
    A Source/WebCore/Modules/WebGPU/GPUCopyElementImageDestination.cpp
    M Source/WebCore/Modules/WebGPU/GPUCopyElementImageDestination.h
    A Source/WebCore/Modules/WebGPU/GPUCopyElementImageSource.cpp
 
M Source/WebCore/Modules/WebGPU/GPUCopyElementImageSource.h
    A Source/WebCore/Modules/WebGPU/GPUDepthStencilState.cpp
    M Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h
    A Source/WebCore/Modules/WebGPU/GPUExtent3DDict.cpp
    M Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h
    A Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.h
    A Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUFragmentState.cpp
    M Source/WebCore/Modules/WebGPU/GPUFragmentState.h
    A Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.cpp
    M Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.h
    A Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.cpp
    M Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.h
    A
Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.cpp
    M Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.h
    A Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.cpp
    M Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.h
    A Source/WebCore/Modules/WebGPU/GPUImageDataLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUImageDataLayout.h
    A Source/WebCore/Modules/WebGPU/GPUMultisampleState.cpp
    M Source/WebCore/Modules/WebGPU/GPUMultisampleState.h
    A Source/WebCore/Modules/WebGPU/GPUObjectDescriptorBase.cpp
    M Source/WebCore/Modules/WebGPU/GPUObjectDescriptorBase.h
    A Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.cpp
    M Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.h
    A Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.cpp
    M Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.h
    A Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.cpp
    M Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h
    A
Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUPrimitiveState.cpp
    M Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h
    A Source/WebCore/Modules/WebGPU/GPUProgrammableStage.cpp
    M Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h
    A Source/WebCore/Modules/WebGPU/GPUQuerySetDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUQuerySetDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPURenderPassColorAttachment.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassColorAttachment.h
    A Source/WebCore/Modules/WebGPU/GPURenderPassDepthStencilAttachment.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassDepthStencilAttachment.h
    A Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.cpp
    M
Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPURenderPassLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassLayout.h
    A Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrites.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrites.h
    A Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUSamplerBindingLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUSamplerBindingLayout.h
    A Source/WebCore/Modules/WebGPU/GPUSamplerDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUSamplerDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUShaderModuleCompilationHint.cpp
    M Source/WebCore/Modules/WebGPU/GPUShaderModuleCompilationHint.h
    A Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h
    A
Source/WebCore/Modules/WebGPU/GPUStencilFaceState.cpp
    M Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h
    A Source/WebCore/Modules/WebGPU/GPUStorageTextureBindingLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUStorageTextureBindingLayout.h
    A Source/WebCore/Modules/WebGPU/GPUTextureBindingLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUTextureBindingLayout.h
    A Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.cpp
    M Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.h
    A Source/WebCore/Modules/WebGPU/GPUVertexAttribute.cpp
    M Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h
    A Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.cpp
    M Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h
    A Source/WebCore/Modules/WebGPU/GPUVertexState.cpp
    M Source/WebCore/Modules/WebGPU/GPUVertexState.h
    M
Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
    M Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp
    M Source/WebCore/bindings/scripts/test/TestCallTracer.idl
    A Source/WebCore/dom/DOMPointInit.cpp
    M Source/WebCore/dom/DOMPointInit.h
    A Source/WebCore/html/ImageDataSettings.cpp
    M Source/WebCore/html/ImageDataSettings.h
    A Source/WebCore/html/canvas/WebGLCopyElementImageConfig.cpp
    M Source/WebCore/html/canvas/WebGLCopyElementImageConfig.h
    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/InspectorCanvasCallTracer.cpp
    M Source/WebCore/inspector/InspectorCanvasCallTracer.h
    M Source/WebCore/inspector/RecordingSwizzleType.h
    M
Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp
    M Source/WebCore/inspector/agents/InspectorCanvasAgent.h
    M Source/WebGPU/WebGPU/CommandEncoder.mm
    M Source/WebInspectorUI/UserInterface/Models/Recording.js
    M Source/WebInspectorUI/UserInterface/Models/RecordingAction.js
    M Source/WebInspectorUI/UserInterface/Models/ScriptSyntaxTree.js
    M Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.css
    M Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js
    M Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp

  Log Message:
  -----------
  Web Inspector: Canvas: record object arguments and result objects
https://bugs.webkit.org/show_bug.cgi?id=321489

Reviewed by Mike Wyrzykowski.

* Source/JavaScriptCore/inspector/protocol/Recording.json:
* Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementationFunctionCall):
(GenerateCallTracer):
* Source/WebCore/inspector/RecordingSwizzleType.h:
*
Source/WebCore/inspector/InspectorCanvasArguments.h:
(WebCore::InspectorCanvasArgumentProcessor<IDLType>::toJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLType>::operator()): Added.
(WebCore::InspectorCanvasNullableArgumentProcessor<IDLType>::extractValue): 
Added.
(WebCore::InspectorCanvasNullableArgumentProcessor<IDLType>::toJSON): Added.
(WebCore::InspectorCanvasNullableArgumentProcessor<IDLType>::operator()): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLNullable<IDLType>>::operator()): 
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLOptional<IDLType>>::operator()): 
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLLegacyNullToEmptyStringAdaptor<IDLType>>::toJSON):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLEnforceRangeAdaptor<IDLType>>::toJSON):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLAllowSharedAdaptor<IDLType>>::toJSON):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLEnumeration<IDLType>>::toJSON):
Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDOMString>::toJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLBoolean>::toJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLType>::toJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLUnion<IDLTypes...>>::toJSON): 
Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLUnion<IDLTypes...>>::operator()): 
Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLType, 
inlineCapacity>>::toJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLType, 
inlineCapacity>>::operator()): Added.
* Source/WebCore/inspector/InspectorCanvasArguments.cpp:
(WebCore::process): Added.
(WebCore::processJSON): Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUComputePassDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUComputePipelineDescriptor>>::operator()):
Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUCopyElementImageDestination>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUCopyElementImageSource>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUExternalTextureDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUImageCopyBuffer>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUImageCopyExternalImage>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUImageCopyTexture>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUImageCopyTextureTagged>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUPipelineLayoutDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPURenderPassDescriptor>>::operator()):
Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUBindGroupDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPURenderPipelineDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<GPUShaderModuleDescriptor>>::operator()):
 Added.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<ImageDataSettings>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLDictionary<WebGLCopyElementImageConfig>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLCanvasImageSourceUnion>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLCanvasStyleVariantUnion>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLCanvasPathRadiusUnion>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLCanvasElementImageSourceUnion>::operator()):
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLTexImageSourceUnion>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLBufferDataSourceUnion>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLFloat32ListUnion>::operator()): 
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLInt32ListUnion>::operator()): 
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLUint32ListUnion>::operator()): 
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLDOMString>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLUnrestrictedDouble>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLUnrestrictedFloat>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLUnsignedLong>>::operator()):
 Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLLong>>::operator()):
Deleted.
(WebCore::InspectorCanvasArgumentProcessor<IDLSequence<IDLCanvasPathRadiusUnion>>::operator()):
 Deleted.
* Source/WebCore/inspector/InspectorCanvasCallTracer.h:
(WebCore::InspectorCanvasCallTracer::processArgument):
(WebCore::InspectorCanvasCallTracer::recordActionResult): Added.
* Source/WebCore/inspector/InspectorCanvasCallTracer.cpp:
(WebCore::InspectorCanvasCallTracer::recordActionResult): Added.
* Source/WebCore/inspector/agents/InspectorCanvasAgent.h:
* Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::recordActionResult): Added.
* Source/WebCore/inspector/InspectorCanvas.h:
* Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::buildActionObject): Renamed from `buildActionReceiver`.
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::recordActionResult): Added.
(WebCore::InspectorCanvas::appendActionSnapshotIfNeeded):
Record the result value of `CallTracer` calls via
`CallTracer::recordActionResult` (but only if an interface).
Replace the limited `Array` with a more generic `JSON` that can also handle 
objects (deduplicated by the stringified form).
Handle non-serializable arrays via a new `ArrayOf` that contains `[index, 
swizzle]` pairs (vs `JSON` which is just raw values).
Handle non-serializable objects via distinct swizzle types (e.g. 
`GPUBindGroupDescriptor`, `GPURenderPipelineDescriptor`, etc.).
Drive-by: process `union` generically instead of needing an override for each 
`variant`.
Drive-by: replace `DOMPointInit` with `ArrayOf` since it wasn't used correctly 
before anyways.

* Source/WebCore/Modules/WebGPU/GPUObjectDescriptorBase.h:
* Source/WebCore/Modules/WebGPU/GPUObjectDescriptorBase.cpp: Added.
(WebCore::GPUObjectDescriptorBase::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h:
* Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.cpp: Added.
(WebCore::GPUPipelineDescriptorBase::toJSON
const):
* Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h:
* Source/WebCore/Modules/WebGPU/GPUProgrammableStage.cpp: Added.
(WebCore::GPUProgrammableStage::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUColorDict.h:
* Source/WebCore/Modules/WebGPU/GPUColorDict.cpp: Added.
(WebCore::GPUColorDict::toJSON const):
(WebCore::toJSON):
* Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h:
* Source/WebCore/Modules/WebGPU/GPUExtent3DDict.cpp: Added.
(WebCore::GPUExtent3DDict::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.h:
* Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.cpp: Added.
(WebCore::GPUOrigin2DDict::toJSON const):
(WebCore::toJSON):
* Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.h:
* Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.cpp: Added.
(WebCore::GPUOrigin3DDict::toJSON const):
(WebCore::toJSON):
* Source/WebCore/Modules/WebGPU/GPUImageDataLayout.h:
* Source/WebCore/Modules/WebGPU/GPUImageDataLayout.cpp:
Added.
(WebCore::GPUImageDataLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.cpp: Added.
(WebCore::GPUBufferDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUQuerySetDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUQuerySetDescriptor.cpp: Added.
(WebCore::GPUQuerySetDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUSamplerDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUSamplerDescriptor.cpp: Added.
(WebCore::GPUSamplerDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.cpp: Added.
(WebCore::GPUTextureDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.cpp: Added.
(WebCore::GPUTextureViewDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.h:
*
Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.cpp: Added.
(WebCore::GPUBufferBindingLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.h:
* Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.cpp: Added.
(WebCore::GPUExternalTextureBindingLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUSamplerBindingLayout.h:
* Source/WebCore/Modules/WebGPU/GPUSamplerBindingLayout.cpp: Added.
(WebCore::GPUSamplerBindingLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUStorageTextureBindingLayout.h:
* Source/WebCore/Modules/WebGPU/GPUStorageTextureBindingLayout.cpp: Added.
(WebCore::GPUStorageTextureBindingLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUTextureBindingLayout.h:
* Source/WebCore/Modules/WebGPU/GPUTextureBindingLayout.cpp: Added.
(WebCore::GPUTextureBindingLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.h:
*
Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.cpp: Added.
(WebCore::GPUBindGroupLayoutEntry::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.cpp: Added.
(WebCore::GPUBindGroupLayoutDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBlendComponent.h:
* Source/WebCore/Modules/WebGPU/GPUBlendComponent.cpp: Added.
(WebCore::GPUBlendComponent::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUBlendState.h:
* Source/WebCore/Modules/WebGPU/GPUBlendState.cpp: Added.
(WebCore::GPUBlendState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUColorTargetState.h:
* Source/WebCore/Modules/WebGPU/GPUColorTargetState.cpp: Added.
(WebCore::GPUColorTargetState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h:
* Source/WebCore/Modules/WebGPU/GPUStencilFaceState.cpp: Added.
(WebCore::GPUStencilFaceState::toJSON const):
*
Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h:
* Source/WebCore/Modules/WebGPU/GPUDepthStencilState.cpp: Added.
(WebCore::GPUDepthStencilState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUMultisampleState.h:
* Source/WebCore/Modules/WebGPU/GPUMultisampleState.cpp: Added.
(WebCore::GPUMultisampleState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h:
* Source/WebCore/Modules/WebGPU/GPUPrimitiveState.cpp: Added.
(WebCore::GPUPrimitiveState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h:
* Source/WebCore/Modules/WebGPU/GPUVertexAttribute.cpp: Added.
(WebCore::GPUVertexAttribute::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h:
* Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.cpp: Added.
(WebCore::GPUVertexBufferLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUVertexState.h:
* Source/WebCore/Modules/WebGPU/GPUVertexState.cpp: Added.
(WebCore::GPUVertexState::toJSON const):
*
Source/WebCore/Modules/WebGPU/GPUFragmentState.h:
* Source/WebCore/Modules/WebGPU/GPUFragmentState.cpp: Added.
(WebCore::GPUFragmentState::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.cpp: Added.
(WebCore::GPURenderPipelineDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPassLayout.h:
* Source/WebCore/Modules/WebGPU/GPURenderPassLayout.cpp: Added.
(WebCore::GPURenderPassLayout::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.cpp: Added.
(WebCore::GPURenderBundleEncoderDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrites.h:
* Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrites.cpp: Added.
(WebCore::GPUComputePassTimestampWrites::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.h:
*
Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.cpp: Added.
(WebCore::GPUComputePassDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUCopyElementImageDestination.h:
* Source/WebCore/Modules/WebGPU/GPUCopyElementImageDestination.cpp: Added.
(WebCore::GPUCopyElementImageDestination::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUCopyElementImageSource.h:
* Source/WebCore/Modules/WebGPU/GPUCopyElementImageSource.cpp: Added.
(WebCore::GPUCopyElementImageSource::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.cpp: Added.
(WebCore::GPUExternalTextureDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.h:
* Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.cpp: Added.
(WebCore::GPUImageCopyBuffer::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.h:
* Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.cpp:
Added.
(WebCore::GPUImageCopyExternalImage::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.h:
* Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.cpp: Added.
(WebCore::GPUImageCopyTexture::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.h:
* Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.cpp: Added.
(WebCore::GPUImageCopyTextureTagged::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.cpp: Added.
(WebCore::GPUPipelineLayoutDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPassColorAttachment.h:
* Source/WebCore/Modules/WebGPU/GPURenderPassColorAttachment.cpp: Added.
(WebCore::GPURenderPassColorAttachment::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPassDepthStencilAttachment.h:
* Source/WebCore/Modules/WebGPU/GPURenderPassDepthStencilAttachment.cpp:
Added.
(WebCore::GPURenderPassDepthStencilAttachment::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrites.h:
* Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrites.cpp: Added.
(WebCore::GPURenderPassTimestampWrites::toJSON const):
* Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.cpp: Added.
(WebCore::GPURenderPassDescriptor::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUShaderModuleCompilationHint.h:
* Source/WebCore/Modules/WebGPU/GPUShaderModuleCompilationHint.cpp: Added.
(WebCore::GPUShaderModuleCompilationHint::toJSON const):
* Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h:
* Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.cpp: Added.
(WebCore::GPUShaderModuleDescriptor::toJSON const):
* Source/WebCore/dom/DOMPointInit.h:
* Source/WebCore/dom/DOMPointInit.cpp: Added.
(WebCore::DOMPointInit::toJSON const):
*
Source/WebCore/html/ImageDataSettings.h:
* Source/WebCore/html/ImageDataSettings.cpp: Added.
(WebCore::ImageDataSettings::toJSON const):
* Source/WebCore/html/canvas/WebGLCopyElementImageConfig.h:
* Source/WebCore/html/canvas/WebGLCopyElementImageConfig.cpp: Added.
(WebCore::WebGLCopyElementImageConfig::toJSON const):
Add helpers to convert back into JSON, omitting members that are not 
serializable (which are handled by `InspectorCanvasArgumentProcessor`).

* Source/WebInspectorUI/UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.isReferenceSwizzleType): Added.
(WI.Recording.displayNameForSwizzleType):
(WI.Recording.prototype.displayNameForReference): Renamed from 
`displayNameForReceiver`.
(WI.Recording.prototype.swizzle):
(WI.Recording.prototype._process):
(WI.Recording.Swizzle):
* Source/WebInspectorUI/UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.fromPayload):
(WI.RecordingAction.objectReferencesForParameter):
Added.
(WI.RecordingAction.prototype.recordingObjectIdentifiers): Renamed from `get 
recordingObjectIdentifiers`.
(WI.RecordingAction.prototype.get result): Added.
(WI.RecordingAction.prototype.swizzle):
(WI.RecordingAction.prototype.toJSON):
(WI.RecordingAction._objectReferenceCollectors): Added.
* Source/WebInspectorUI/UserInterface/Models/ScriptSyntaxTree.js:
(WI.ScriptSyntaxTree.isIdentifierName): Added.
Collect referenced object identities incrementally during the processing pass 
and share stable names across arguments, receivers, and results.

* Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._generateDOM.appendJSON): Added.
(WI.RecordingActionTreeElement._generateDOM.createParameterElement):
* Source/WebInspectorUI/UserInterface/Views/RecordingActionTreeElement.css:
(.item.recording-action > .titles :is(.object-handle, .receiver, .subtitle)): 
Renamed from
`.item.recording-action > .titles .parameter.object-handle`.
(body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within 
.item.recording-action.selected > .titles :is(.object-handle, 
.parameter.swizzled, .receiver, .subtitle), body:not(.window-inactive, 
.window-docked-inactive) .tree-outline:focus-within 
.item.recording-action.selected::before): Renamed from 
`body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within 
.item.recording-action.selected > .titles .parameter.swizzled, 
body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within 
.item.recording-action.selected::before`.
Render `JSON` inline add special styling for referenced objects.
Display the name of the returned object as the subtitle.

* Source/WTF/wtf/JSONValues.h:
(WTF::JSONImpl::ArrayOf<T>::setItem): Added.
* Source/WTF/wtf/JSONValues.cpp:
(WTF::JSONImpl::ArrayBase::setBoolean): Added.
(WTF::JSONImpl::ArrayBase::setInteger):
Added.
(WTF::JSONImpl::ArrayBase::setDouble): Added.
(WTF::JSONImpl::ArrayBase::setString): Added.
(WTF::JSONImpl::ArrayBase::setValue): Added.
(WTF::JSONImpl::ArrayBase::setObject): Added.
(WTF::JSONImpl::ArrayBase::setArray): Added.
Add `JSON::ArrayOf::setItem` so a recorded action can replace a placeholder 
result.

* Source/WebGPU/WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::addOnCommitHandler):
Ignore on-commit handlers when there is no `MTLCommandBuffer` to commit.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:

* Source/WebCore/bindings/scripts/test/TestCallTracer.idl:
* Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp:
* Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp:
* LayoutTests/fast/webgpu/invalid-command-encoder-clear-buffer.html: Added.
* LayoutTests/fast/webgpu/invalid-command-encoder-clear-buffer-expected.txt: 
Added.
* LayoutTests/inspector/canvas/resources/recording-2d.js:
*
LayoutTests/inspector/canvas/resources/recording-utilities.js:
* LayoutTests/inspector/canvas/resources/recording-webgl.js:
* LayoutTests/inspector/canvas/resources/recording-webgl2.js:
* LayoutTests/inspector/canvas/resources/recording-webgpu.js: Added.
* LayoutTests/inspector/canvas/recording-2d-full-expected.txt:
* LayoutTests/inspector/canvas/recording-bitmaprenderer-full-expected.txt:
* 
LayoutTests/inspector/canvas/recording-offscreen-bitmaprenderer-full-expected.txt:
* LayoutTests/inspector/canvas/recording-offscreen-canvas-2d-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-full.html:
* LayoutTests/inspector/canvas/recording-webgl-full-expected.txt:
* LayoutTests/inspector/canvas/recording-webgl2-full-expected.txt:
* LayoutTests/inspector/canvas/recording.html:
*
LayoutTests/inspector/canvas/recording-html-2d.html:
* LayoutTests/inspector/canvas/recording-webgpu.html: Deleted.
* LayoutTests/inspector/canvas/recording-webgpu-expected.txt: Deleted.
* LayoutTests/inspector/canvas/console-record-webgpu.html: Added.
* LayoutTests/inspector/canvas/console-record-webgpu-expected.txt: Added.
* LayoutTests/inspector/canvas/recording-webgpu-frameCount.html: Added.
* LayoutTests/inspector/canvas/recording-webgpu-frameCount-expected.txt: Added.
* LayoutTests/inspector/canvas/recording-webgpu-full.html: Added.
* LayoutTests/inspector/canvas/recording-webgpu-full-expected.txt: Added.
* LayoutTests/inspector/canvas/recording-webgpu-memoryLimit.html: Added.
* LayoutTests/inspector/canvas/recording-webgpu-memoryLimit-expected.txt: Added.
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/win/TestExpectations:

Canonical link:
https://flagged.apple.com:443/proxy?t2=Dr5t4N4sn1&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE5MDU5QG1haW4=&emid=01fe9508-a6b0-4f5b-880a-91b94c7096d9&c=11



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

Reply via email to