⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 20, 2021:

4:03 PM Changeset in webkit [286098] by mmaxfield@apple.com
  • 114 edits in trunk/Source/WebKit

[WebGPU] Send WebGPU messages in the web process
https://bugs.webkit.org/show_bug.cgi?id=233396

Reviewed by Dean Jackson.

This hooks up our Remote*Proxy() WebGPU implementation to the serializable structs.
There are 2 pieces: adding converter functions from PAL::WebGPU::X to WebKit::WebGPU::X
structs (which are serializable) and actually calling the send() function itself.
Because streaming IPC doesn't support async replies yet, all the async calls are currently
sync in this patch. I'll be adding support for async streaming messages in a subsequent
patch, which will migrate callers to use sendAsync() instead of sendSync().

No new tests because there is no behavior change yet. This is the last untested foundational
patch in the series. All subsequent WebGPU patches should have tests.

  • GPUProcess/graphics/WebGPU/RemoteGPU.cpp:

(WebKit::RemoteGPU::requestAdapter):

  • GPUProcess/graphics/WebGPU/RemoteGPU.h:
  • GPUProcess/graphics/WebGPU/RemoteGPU.messages.in:
  • Shared/WebGPU/WebGPUBindGroupDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBindGroupEntry.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBindGroupLayoutEntry.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBlendComponent.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBlendState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBufferBinding.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBufferBindingLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUBufferDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUCanvasConfiguration.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUColor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUColorTargetState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUCommandBufferDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUCommandEncoderDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUCompilationMessage.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUComputePassDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUComputePassTimestampWrites.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUComputePipelineDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUConvertToBackingContext.h:
  • Shared/WebGPU/WebGPUDepthStencilState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUDeviceDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUError.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUExtent3D.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUExternalTextureBindingLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUExternalTextureDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUFragmentState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUImageCopyBuffer.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyExternalImage.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUImageCopyTexture.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyTextureTagged.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUImageDataLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUMultisampleState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUObjectDescriptorBase.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUOrigin2D.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUOrigin3D.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUOutOfMemoryError.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUPipelineDescriptorBase.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUPipelineLayoutDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUPrimitiveState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUProgrammableStage.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUQuerySetDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderBundleDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderBundleEncoderDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderPassColorAttachment.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderPassLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderPassTimestampWrites.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURenderPipelineDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPURequestAdapterOptions.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUSamplerBindingLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUSamplerDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUStencilFaceState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUStorageTextureBindingLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUSupportedFeatures.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUSupportedLimits.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):
(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUTextureBindingLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUTextureDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUTextureViewDescriptor.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUValidationError.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUVertexAttribute.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUVertexBufferLayout.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • Shared/WebGPU/WebGPUVertexState.cpp:

(WebKit::WebGPU::ConvertToBackingContext::convertToBacking):

  • WebKit.xcodeproj/xcshareddata/xcschemes/WebKit.xcscheme:
  • WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.cpp:

(WebKit::WebGPU::RemoteAdapterProxy::RemoteAdapterProxy):
(WebKit::WebGPU::RemoteAdapterProxy::requestDevice):

  • WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.cpp:

(WebKit::WebGPU::RemoteBindGroupLayoutProxy::RemoteBindGroupLayoutProxy):
(WebKit::WebGPU::RemoteBindGroupLayoutProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.cpp:

(WebKit::WebGPU::RemoteBindGroupProxy::RemoteBindGroupProxy):
(WebKit::WebGPU::RemoteBindGroupProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp:

(WebKit::WebGPU::RemoteBufferProxy::RemoteBufferProxy):
(WebKit::WebGPU::RemoteBufferProxy::mapAsync):
(WebKit::WebGPU::RemoteBufferProxy::getMappedRange):
(WebKit::WebGPU::RemoteBufferProxy::unmap):
(WebKit::WebGPU::RemoteBufferProxy::destroy):
(WebKit::WebGPU::RemoteBufferProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.cpp:

(WebKit::WebGPU::RemoteCommandBufferProxy::RemoteCommandBufferProxy):
(WebKit::WebGPU::RemoteCommandBufferProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp:

(WebKit::WebGPU::RemoteCommandEncoderProxy::RemoteCommandEncoderProxy):
(WebKit::WebGPU::RemoteCommandEncoderProxy::beginRenderPass):
(WebKit::WebGPU::RemoteCommandEncoderProxy::beginComputePass):
(WebKit::WebGPU::RemoteCommandEncoderProxy::copyBufferToBuffer):
(WebKit::WebGPU::RemoteCommandEncoderProxy::copyBufferToTexture):
(WebKit::WebGPU::RemoteCommandEncoderProxy::copyTextureToBuffer):
(WebKit::WebGPU::RemoteCommandEncoderProxy::copyTextureToTexture):
(WebKit::WebGPU::RemoteCommandEncoderProxy::fillBuffer):
(WebKit::WebGPU::RemoteCommandEncoderProxy::pushDebugGroup):
(WebKit::WebGPU::RemoteCommandEncoderProxy::popDebugGroup):
(WebKit::WebGPU::RemoteCommandEncoderProxy::insertDebugMarker):
(WebKit::WebGPU::RemoteCommandEncoderProxy::writeTimestamp):
(WebKit::WebGPU::RemoteCommandEncoderProxy::resolveQuerySet):
(WebKit::WebGPU::RemoteCommandEncoderProxy::finish):
(WebKit::WebGPU::RemoteCommandEncoderProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp:

(WebKit::WebGPU::RemoteComputePassEncoderProxy::RemoteComputePassEncoderProxy):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::setPipeline):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::dispatch):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::dispatchIndirect):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::beginPipelineStatisticsQuery):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPipelineStatisticsQuery):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::endPass):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::setBindGroup):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::pushDebugGroup):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::popDebugGroup):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::insertDebugMarker):
(WebKit::WebGPU::RemoteComputePassEncoderProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.cpp:

(WebKit::WebGPU::RemoteComputePipelineProxy::RemoteComputePipelineProxy):
(WebKit::WebGPU::RemoteComputePipelineProxy::getBindGroupLayout):
(WebKit::WebGPU::RemoteComputePipelineProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:

(WebKit::WebGPU::RemoteDeviceProxy::RemoteDeviceProxy):
(WebKit::WebGPU::RemoteDeviceProxy::createBuffer):
(WebKit::WebGPU::RemoteDeviceProxy::createTexture):
(WebKit::WebGPU::RemoteDeviceProxy::createSampler):
(WebKit::WebGPU::RemoteDeviceProxy::importExternalTexture):
(WebKit::WebGPU::RemoteDeviceProxy::createBindGroupLayout):
(WebKit::WebGPU::RemoteDeviceProxy::createPipelineLayout):
(WebKit::WebGPU::RemoteDeviceProxy::createBindGroup):
(WebKit::WebGPU::RemoteDeviceProxy::createShaderModule):
(WebKit::WebGPU::RemoteDeviceProxy::createComputePipeline):
(WebKit::WebGPU::RemoteDeviceProxy::createRenderPipeline):
(WebKit::WebGPU::RemoteDeviceProxy::createComputePipelineAsync):
(WebKit::WebGPU::RemoteDeviceProxy::createRenderPipelineAsync):
(WebKit::WebGPU::RemoteDeviceProxy::createCommandEncoder):
(WebKit::WebGPU::RemoteDeviceProxy::createRenderBundleEncoder):
(WebKit::WebGPU::RemoteDeviceProxy::createQuerySet):
(WebKit::WebGPU::RemoteDeviceProxy::pushErrorScope):
(WebKit::WebGPU::RemoteDeviceProxy::popErrorScope):
(WebKit::WebGPU::RemoteDeviceProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.cpp:

(WebKit::WebGPU::RemoteExternalTextureProxy::RemoteExternalTextureProxy):
(WebKit::WebGPU::RemoteExternalTextureProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:

(WebKit::WebGPU::RemoteGPUProxy::RemoteGPUProxy):
(WebKit::WebGPU::RemoteGPUProxy::requestAdapter):

  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.cpp:

(WebKit::WebGPU::RemotePipelineLayoutProxy::RemotePipelineLayoutProxy):
(WebKit::WebGPU::RemotePipelineLayoutProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.cpp:

(WebKit::WebGPU::RemoteQuerySetProxy::RemoteQuerySetProxy):
(WebKit::WebGPU::RemoteQuerySetProxy::destroy):
(WebKit::WebGPU::RemoteQuerySetProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp:

(WebKit::WebGPU::RemoteQueueProxy::RemoteQueueProxy):
(WebKit::WebGPU::RemoteQueueProxy::submit):
(WebKit::WebGPU::RemoteQueueProxy::onSubmittedWorkDone):
(WebKit::WebGPU::RemoteQueueProxy::writeBuffer):
(WebKit::WebGPU::RemoteQueueProxy::writeTexture):
(WebKit::WebGPU::RemoteQueueProxy::copyExternalImageToTexture):
(WebKit::WebGPU::RemoteQueueProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.cpp:

(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::RemoteRenderBundleEncoderProxy):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setPipeline):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setIndexBuffer):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setVertexBuffer):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::draw):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::drawIndexed):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::drawIndirect):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::drawIndexedIndirect):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setBindGroup):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::pushDebugGroup):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::popDebugGroup):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::insertDebugMarker):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::finish):
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.cpp:

(WebKit::WebGPU::RemoteRenderBundleProxy::RemoteRenderBundleProxy):
(WebKit::WebGPU::RemoteRenderBundleProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp:

(WebKit::WebGPU::RemoteRenderPassEncoderProxy::RemoteRenderPassEncoderProxy):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setPipeline):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setIndexBuffer):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setVertexBuffer):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::draw):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::drawIndexed):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::drawIndirect):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::drawIndexedIndirect):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setBindGroup):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::pushDebugGroup):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::popDebugGroup):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::insertDebugMarker):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setViewport):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setScissorRect):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setBlendConstant):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setStencilReference):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::beginOcclusionQuery):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endOcclusionQuery):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::beginPipelineStatisticsQuery):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPipelineStatisticsQuery):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::executeBundles):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::endPass):
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.cpp:

(WebKit::WebGPU::RemoteRenderPipelineProxy::RemoteRenderPipelineProxy):
(WebKit::WebGPU::RemoteRenderPipelineProxy::getBindGroupLayout):
(WebKit::WebGPU::RemoteRenderPipelineProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.cpp:

(WebKit::WebGPU::RemoteSamplerProxy::RemoteSamplerProxy):
(WebKit::WebGPU::RemoteSamplerProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.cpp:

(WebKit::WebGPU::RemoteShaderModuleProxy::RemoteShaderModuleProxy):
(WebKit::WebGPU::RemoteShaderModuleProxy::compilationInfo):
(WebKit::WebGPU::RemoteShaderModuleProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.cpp:

(WebKit::WebGPU::RemoteTextureProxy::RemoteTextureProxy):
(WebKit::WebGPU::RemoteTextureProxy::createView):
(WebKit::WebGPU::RemoteTextureProxy::destroy):
(WebKit::WebGPU::RemoteTextureProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.cpp:

(WebKit::WebGPU::RemoteTextureViewProxy::RemoteTextureViewProxy):
(WebKit::WebGPU::RemoteTextureViewProxy::setLabelInternal):

  • WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.h:
  • WebProcess/GPU/graphics/WebGPU/WebGPUDowncastConvertToBackingContext.cpp:

(WebKit::WebGPU::DowncastConvertToBackingContext::convertToBacking):

  • WebProcess/GPU/graphics/WebGPU/WebGPUDowncastConvertToBackingContext.h:
3:21 PM Changeset in webkit [286097] by Jean-Yves Avenard
  • 8 edits in trunk/Source/WebKit

Remove unnecessary flattening of SharedBuffer when sending them over IPC
https://bugs.webkit.org/show_bug.cgi?id=233363
rdar://85600684

Reviewed by Sam Weinig.

In several places, a SharedMemory was allocated followed by a copy. To perform
this copy, the SharedBuffer was flattened which could involve a memory allocation
followed by a copy of all segments into the final vector.
We instead make use of SharedBuffer::copyBuffer convenience method which will simply
copy the individual segment into the newly allocated SharedMemory.

No change in user observable behaviour.

Fly-by fix: SharedMemory::allocate is fallible; few instances didn't check the
returned value. So test that it succeeded and prevent a crash (null deref)

  • Shared/WebHitTestResultData.cpp:

(WebKit::WebHitTestResultData::WebHitTestResultData):

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::setBufferForType):

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getDataSelectionForPasteboard):

6:43 AM Changeset in webkit [286096] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[IFC][Integration] Initialize layout box geometries for preferred width computation
https://bugs.webkit.org/show_bug.cgi?id=233386

Reviewed by Antti Koivisto.

Initializing certain geometries (e.g. inline box margin/border/padding) is required for the integration
codepath the same way we do it for the actual line layout.

  • layout/formattingContexts/inline/InlineFormattingContext.cpp: Add a dedicated integration codepath for preferred width

computation using the preset geometry values.
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraintsForIntegration):

  • layout/formattingContexts/inline/InlineFormattingContext.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::tryComputePreferredWidthsUsingModernPath):

12:34 AM Changeset in webkit [286095] by ysuzuki@apple.com
  • 3 edits
    3 moves in trunk/Source/JavaScriptCore

[JSC] Move RepatchXXX from jit to bytecode
https://bugs.webkit.org/show_bug.cgi?id=233395

Reviewed by Mark Lam.

They are also used by non JIT code too.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/Repatch.cpp: Renamed from Source/JavaScriptCore/jit/Repatch.cpp.
  • bytecode/Repatch.h: Renamed from Source/JavaScriptCore/jit/Repatch.h.
  • bytecode/RepatchInlines.h: Renamed from Source/JavaScriptCore/jit/RepatchInlines.h.
12:15 AM Changeset in webkit [286094] by commit-queue@webkit.org
  • 26 edits in trunk

Report the initiating url instead of the redirected one
https://bugs.webkit.org/show_bug.cgi?id=233037

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-11-20
Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub-expected.txt:

Source/WebCore:

As per the spec, blockedURI should use the requested URL of original request instead of redirected location.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
(WebCore::CachedResourceLoader::canRequestAfterRedirection const):
(WebCore::CachedResourceLoader::updateRequestAfterRedirection):

  • loader/cache/CachedResourceLoader.h:
  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowChildContextFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowImageFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
(WebCore::ContentSecurityPolicy::allowFontFromSource const):
(WebCore::ContentSecurityPolicy::allowManifestFromSource const):
(WebCore::ContentSecurityPolicy::allowMediaFromSource const):

  • page/csp/ContentSecurityPolicy.h:

Source/WebKit:

Pass pre-redirect URL to allowChildContextFromSource() and allowScriptFromSource().

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):

LayoutTests:

  • TestExpectations: Unskip imported/w3c/web-platform-tests/content-security-policy/securitypolicyviolation/img-src-redirect.sub.html
  • http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/font-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/image-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/script-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/stylesheet-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/svg-font-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/svg-image-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/track-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/xsl-redirect-blocked-expected.txt:

Nov 19, 2021:

11:52 PM Changeset in webkit [286093] by Carlos Garcia Campos
  • 6 edits
    1 add in trunk

[GTK][a11y] Add implementation of image interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=232782

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • SourcesGTK.txt:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityObjectImageAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::imageDescription const):

Tools:

Add unit tests for the image interface.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testImageBasic):
(beforeAll):

10:57 PM Changeset in webkit [286092] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

Fix WebAssembly memory.fill out of bounds error message
https://bugs.webkit.org/show_bug.cgi?id=233392

Patch by Asumu Takikawa <asumu@igalia.com> on 2021-11-19
Reviewed by Yusuke Suzuki.

JSTests:

  • wasm/references/memory_fill_out_of_bounds.js: Added.

(async test):

Source/JavaScriptCore:

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addMemoryFill):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addMemoryFill):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::WASM_SLOW_PATH_DECL):

10:40 PM Changeset in webkit [286091] by commit-queue@webkit.org
  • 11 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, reverting r286058.
https://bugs.webkit.org/show_bug.cgi?id=233394

Speedometer2 is crashing

Reverted changeset:

"Factor child change invalidation into class"
https://bugs.webkit.org/show_bug.cgi?id=233311
https://commits.webkit.org/r286058

8:50 PM Changeset in webkit [286090] by Alan Bujtas
  • 1 edit
    1 add in trunk/PerformanceTests

Add layout performance test for simple bidi content
(this is not about inline axis direction, just mixed, bidirectional content)

Unreviewed.

  • Layout/line-layout-simple-bidi.html: Added.
7:19 PM Changeset in webkit [286089] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk/LayoutTests

[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=233385

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-11-19

LayoutTests/imported/w3c:

  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.fontVariant.settings-expected.txt:

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/html/interaction/focus/chrome-object-tab-focus-bug-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads.tentative-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • transitions/clip-path-path-transitions-expected.txt:
7:05 PM Changeset in webkit [286088] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[GLIB][WebDriver] Gardening COOP-related timeouts

Unreviewed test gardening.

6:33 PM Changeset in webkit [286087] by mmaxfield@apple.com
  • 54 edits
    1 copy
    1 add in trunk/Source

[WebGPU] Implement GPU process's message receivers
https://bugs.webkit.org/show_bug.cgi?id=233358

Reviewed by Dean Jackson.

The message receivers have two helper objects:

  1. ObjectHeap, which owns all the message receivers. There is intended to be only one of them per document.
  2. ObjectRegistry, which doesn't own anything, but maintains a mapping from WebGPUIdentifiers to objects. This

registry is necessary because when an object needs to be destroyed, we have to look up which object it
is by ID.

Beyond that, this patch just hooks up those two message receivers, and then forwards all received messages to
the virtual interface that implements WebGPU.

No new tests because there is no behavior change.

  • GPUProcess/graphics/WebGPU/RemoteAdapter.cpp:

(WebKit::RemoteAdapter::RemoteAdapter):
(WebKit::RemoteAdapter::~RemoteAdapter):
(WebKit::RemoteAdapter::requestDevice):

  • GPUProcess/graphics/WebGPU/RemoteAdapter.h:
  • GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp:

(WebKit::RemoteBindGroup::RemoteBindGroup):
(WebKit::RemoteBindGroup::~RemoteBindGroup):
(WebKit::RemoteBindGroup::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteBindGroup.h:
  • GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.cpp:

(WebKit::RemoteBindGroupLayout::RemoteBindGroupLayout):
(WebKit::RemoteBindGroupLayout::~RemoteBindGroupLayout):
(WebKit::RemoteBindGroupLayout::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.h:
  • GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:

(WebKit::RemoteBuffer::RemoteBuffer):
(WebKit::RemoteBuffer::~RemoteBuffer):
(WebKit::RemoteBuffer::mapAsync):
(WebKit::RemoteBuffer::unmap):
(WebKit::RemoteBuffer::destroy):
(WebKit::RemoteBuffer::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteBuffer.h:
  • GPUProcess/graphics/WebGPU/RemoteCommandBuffer.cpp:

(WebKit::RemoteCommandBuffer::RemoteCommandBuffer):
(WebKit::RemoteCommandBuffer::~RemoteCommandBuffer):
(WebKit::RemoteCommandBuffer::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h:
  • GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp:

(WebKit::RemoteCommandEncoder::RemoteCommandEncoder):
(WebKit::RemoteCommandEncoder::~RemoteCommandEncoder):
(WebKit::RemoteCommandEncoder::beginRenderPass):
(WebKit::RemoteCommandEncoder::beginComputePass):
(WebKit::RemoteCommandEncoder::copyBufferToBuffer):
(WebKit::RemoteCommandEncoder::copyBufferToTexture):
(WebKit::RemoteCommandEncoder::copyTextureToBuffer):
(WebKit::RemoteCommandEncoder::copyTextureToTexture):
(WebKit::RemoteCommandEncoder::fillBuffer):
(WebKit::RemoteCommandEncoder::pushDebugGroup):
(WebKit::RemoteCommandEncoder::popDebugGroup):
(WebKit::RemoteCommandEncoder::insertDebugMarker):
(WebKit::RemoteCommandEncoder::writeTimestamp):
(WebKit::RemoteCommandEncoder::resolveQuerySet):
(WebKit::RemoteCommandEncoder::finish):
(WebKit::RemoteCommandEncoder::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp:

(WebKit::RemoteComputePassEncoder::RemoteComputePassEncoder):
(WebKit::RemoteComputePassEncoder::~RemoteComputePassEncoder):
(WebKit::RemoteComputePassEncoder::setPipeline):
(WebKit::RemoteComputePassEncoder::dispatch):
(WebKit::RemoteComputePassEncoder::dispatchIndirect):
(WebKit::RemoteComputePassEncoder::beginPipelineStatisticsQuery):
(WebKit::RemoteComputePassEncoder::endPipelineStatisticsQuery):
(WebKit::RemoteComputePassEncoder::endPass):
(WebKit::RemoteComputePassEncoder::setBindGroup):
(WebKit::RemoteComputePassEncoder::pushDebugGroup):
(WebKit::RemoteComputePassEncoder::popDebugGroup):
(WebKit::RemoteComputePassEncoder::insertDebugMarker):
(WebKit::RemoteComputePassEncoder::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp:

(WebKit::RemoteComputePipeline::RemoteComputePipeline):
(WebKit::RemoteComputePipeline::~RemoteComputePipeline):
(WebKit::RemoteComputePipeline::getBindGroupLayout):
(WebKit::RemoteComputePipeline::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteComputePipeline.h:
  • GPUProcess/graphics/WebGPU/RemoteDevice.cpp:

(WebKit::RemoteDevice::RemoteDevice):
(WebKit::RemoteDevice::~RemoteDevice):
(WebKit::RemoteDevice::destroy):
(WebKit::RemoteDevice::createBuffer):
(WebKit::RemoteDevice::createTexture):
(WebKit::RemoteDevice::createSampler):
(WebKit::RemoteDevice::importExternalTexture):
(WebKit::RemoteDevice::createBindGroupLayout):
(WebKit::RemoteDevice::createPipelineLayout):
(WebKit::RemoteDevice::createBindGroup):
(WebKit::RemoteDevice::createShaderModule):
(WebKit::RemoteDevice::createComputePipeline):
(WebKit::RemoteDevice::createRenderPipeline):
(WebKit::RemoteDevice::createComputePipelineAsync):
(WebKit::RemoteDevice::createRenderPipelineAsync):
(WebKit::RemoteDevice::createCommandEncoder):
(WebKit::RemoteDevice::createRenderBundleEncoder):
(WebKit::RemoteDevice::createQuerySet):
(WebKit::RemoteDevice::pushErrorScope):
(WebKit::RemoteDevice::popErrorScope):
(WebKit::RemoteDevice::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteDevice.h:
  • GPUProcess/graphics/WebGPU/RemoteExternalTexture.cpp:

(WebKit::RemoteExternalTexture::RemoteExternalTexture):
(WebKit::RemoteExternalTexture::~RemoteExternalTexture):
(WebKit::RemoteExternalTexture::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteExternalTexture.h:
  • GPUProcess/graphics/WebGPU/RemoteGPU.cpp:

(WebKit::RemoteGPU::RemoteGPU):
(WebKit::RemoteGPU::~RemoteGPU):
(WebKit::RemoteGPU::requestAdapter):

  • GPUProcess/graphics/WebGPU/RemoteGPU.h:
  • GPUProcess/graphics/WebGPU/RemoteGPU.messages.in:
  • GPUProcess/graphics/WebGPU/RemotePipelineLayout.cpp:

(WebKit::RemotePipelineLayout::RemotePipelineLayout):
(WebKit::RemotePipelineLayout::~RemotePipelineLayout):
(WebKit::RemotePipelineLayout::setLabel):

  • GPUProcess/graphics/WebGPU/RemotePipelineLayout.h:
  • GPUProcess/graphics/WebGPU/RemoteQuerySet.cpp:

(WebKit::RemoteQuerySet::RemoteQuerySet):
(WebKit::RemoteQuerySet::~RemoteQuerySet):
(WebKit::RemoteQuerySet::destroy):
(WebKit::RemoteQuerySet::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteQuerySet.h:
  • GPUProcess/graphics/WebGPU/RemoteQueue.cpp:

(WebKit::RemoteQueue::RemoteQueue):
(WebKit::RemoteQueue::~RemoteQueue):
(WebKit::RemoteQueue::submit):
(WebKit::RemoteQueue::onSubmittedWorkDone):
(WebKit::RemoteQueue::writeBuffer):
(WebKit::RemoteQueue::writeTexture):
(WebKit::RemoteQueue::copyExternalImageToTexture):
(WebKit::RemoteQueue::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteQueue.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderBundle.cpp:

(WebKit::RemoteRenderBundle::RemoteRenderBundle):
(WebKit::RemoteRenderBundle::~RemoteRenderBundle):
(WebKit::RemoteRenderBundle::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteRenderBundle.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp:

(WebKit::RemoteRenderBundleEncoder::RemoteRenderBundleEncoder):
(WebKit::RemoteRenderBundleEncoder::~RemoteRenderBundleEncoder):
(WebKit::RemoteRenderBundleEncoder::setPipeline):
(WebKit::RemoteRenderBundleEncoder::setIndexBuffer):
(WebKit::RemoteRenderBundleEncoder::setVertexBuffer):
(WebKit::RemoteRenderBundleEncoder::draw):
(WebKit::RemoteRenderBundleEncoder::drawIndexed):
(WebKit::RemoteRenderBundleEncoder::drawIndirect):
(WebKit::RemoteRenderBundleEncoder::drawIndexedIndirect):
(WebKit::RemoteRenderBundleEncoder::setBindGroup):
(WebKit::RemoteRenderBundleEncoder::pushDebugGroup):
(WebKit::RemoteRenderBundleEncoder::popDebugGroup):
(WebKit::RemoteRenderBundleEncoder::insertDebugMarker):
(WebKit::RemoteRenderBundleEncoder::finish):
(WebKit::RemoteRenderBundleEncoder::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp:

(WebKit::RemoteRenderPassEncoder::RemoteRenderPassEncoder):
(WebKit::RemoteRenderPassEncoder::~RemoteRenderPassEncoder):
(WebKit::RemoteRenderPassEncoder::setPipeline):
(WebKit::RemoteRenderPassEncoder::setIndexBuffer):
(WebKit::RemoteRenderPassEncoder::setVertexBuffer):
(WebKit::RemoteRenderPassEncoder::draw):
(WebKit::RemoteRenderPassEncoder::drawIndexed):
(WebKit::RemoteRenderPassEncoder::drawIndirect):
(WebKit::RemoteRenderPassEncoder::drawIndexedIndirect):
(WebKit::RemoteRenderPassEncoder::setBindGroup):
(WebKit::RemoteRenderPassEncoder::pushDebugGroup):
(WebKit::RemoteRenderPassEncoder::popDebugGroup):
(WebKit::RemoteRenderPassEncoder::insertDebugMarker):
(WebKit::RemoteRenderPassEncoder::setViewport):
(WebKit::RemoteRenderPassEncoder::setScissorRect):
(WebKit::RemoteRenderPassEncoder::setBlendConstant):
(WebKit::RemoteRenderPassEncoder::setStencilReference):
(WebKit::RemoteRenderPassEncoder::beginOcclusionQuery):
(WebKit::RemoteRenderPassEncoder::endOcclusionQuery):
(WebKit::RemoteRenderPassEncoder::beginPipelineStatisticsQuery):
(WebKit::RemoteRenderPassEncoder::endPipelineStatisticsQuery):
(WebKit::RemoteRenderPassEncoder::executeBundles):
(WebKit::RemoteRenderPassEncoder::endPass):
(WebKit::RemoteRenderPassEncoder::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp:

(WebKit::RemoteRenderPipeline::RemoteRenderPipeline):
(WebKit::RemoteRenderPipeline::~RemoteRenderPipeline):
(WebKit::RemoteRenderPipeline::getBindGroupLayout):
(WebKit::RemoteRenderPipeline::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteRenderPipeline.h:
  • GPUProcess/graphics/WebGPU/RemoteSampler.cpp:

(WebKit::RemoteSampler::RemoteSampler):
(WebKit::RemoteSampler::~RemoteSampler):
(WebKit::RemoteSampler::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteSampler.h:
  • GPUProcess/graphics/WebGPU/RemoteShaderModule.cpp:

(WebKit::RemoteShaderModule::RemoteShaderModule):
(WebKit::RemoteShaderModule::~RemoteShaderModule):
(WebKit::RemoteShaderModule::compilationInfo):
(WebKit::RemoteShaderModule::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteShaderModule.h:
  • GPUProcess/graphics/WebGPU/RemoteTexture.cpp:

(WebKit::RemoteTexture::RemoteTexture):
(WebKit::RemoteTexture::~RemoteTexture):
(WebKit::RemoteTexture::createView):
(WebKit::RemoteTexture::destroy):
(WebKit::RemoteTexture::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteTexture.h:
  • GPUProcess/graphics/WebGPU/RemoteTextureView.cpp:

(WebKit::RemoteTextureView::RemoteTextureView):
(WebKit::RemoteTextureView::~RemoteTextureView):
(WebKit::RemoteTextureView::setLabel):

  • GPUProcess/graphics/WebGPU/RemoteTextureView.h:
  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.cpp:

(WebKit::WebGPU::ObjectHeap::addObject):
(WebKit::WebGPU::ObjectHeap::removeObject):
(WebKit::WebGPU::ObjectHeap::convertAdapterFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertBindGroupFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertBindGroupLayoutFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertBufferFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertCommandBufferFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertCommandEncoderFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertComputePassEncoderFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertComputePipelineFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertDeviceFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertExternalTextureFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertGPUFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertPipelineLayoutFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertQuerySetFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertQueueFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertRenderBundleEncoderFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertRenderBundleFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertRenderPassEncoderFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertRenderPipelineFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertSamplerFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertShaderModuleFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertTextureFromBacking): Deleted.
(WebKit::WebGPU::ObjectHeap::convertTextureViewFromBacking): Deleted.

  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h:
  • GPUProcess/graphics/WebGPU/WebGPUObjectRegistry.cpp: Added.

(WebKit::WebGPU::ObjectRegistry::ObjectRegistry):
(WebKit::WebGPU::ObjectRegistry::~ObjectRegistry):
(WebKit::WebGPU::ObjectRegistry::addObject):
(WebKit::WebGPU::ObjectRegistry::removeObject):
(WebKit::WebGPU::ObjectRegistry::convertAdapterFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertBindGroupFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertBindGroupLayoutFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertBufferFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertCommandBufferFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertCommandEncoderFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertComputePassEncoderFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertComputePipelineFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertDeviceFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertExternalTextureFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertGPUFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertPipelineLayoutFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertQuerySetFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertQueueFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertRenderBundleEncoderFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertRenderBundleFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertRenderPassEncoderFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertRenderPipelineFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertSamplerFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertShaderModuleFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertTextureFromBacking):
(WebKit::WebGPU::ObjectRegistry::convertTextureViewFromBacking):

  • GPUProcess/graphics/WebGPU/WebGPUObjectRegistry.h: Copied from Source/WebKit/GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h.
  • Shared/WebGPU/WebGPUConvertFromBackingContext.h:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebKit.xcodeproj/xcshareddata/xcschemes/WebKit.xcscheme:
4:56 PM Changeset in webkit [286086] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk

Implement parsing and animation support for ray() shape accepted by offset-path
https://bugs.webkit.org/show_bug.cgi?id=233153

Patch by Kiet Ho <Kiet Ho> on 2021-11-19
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Rebaselined tests that now should pass.

  • web-platform-tests/css/motion/animation/offset-path-composition-expected.txt:
  • web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt:
  • web-platform-tests/css/motion/offset-supports-calc-expected.txt:
  • web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt:
  • web-platform-tests/css/motion/parsing/offset-path-computed.html:
  • web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/css/motion/animation/offset-path-composition.html

imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005.html
imported/w3c/web-platform-tests/css/motion/offset-supports-calc.html
imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed.html
imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html
imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Added support for blending between ray()s.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueIDForRaySize):
(WebCore::valueForPathOperation): Added support for getting the computed value of ray().

  • css/CSSRayValue.cpp: Added.

(WebCore::CSSRayValue::customCSSText const):
(WebCore::CSSRayValue::equals const):

  • css/CSSRayValue.h: Added.
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isRayValue const):

  • css/CSSValueKeywords.in: Added new keywords used by ray().
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeRayShape): Added method to consume ray().
(WebCore::consumePathOperation): Added a switch to control whether to accept
ray() or not. Both clip-path and offset-path uses this function, however clip-path
doesn't support the ray shape, while offset-path does, hence the switch.
(WebCore::CSSPropertyParser::parseSingleValue):

  • rendering/PathOperation.h: Added a new subclass of PathOperation called RayPathOperation

to represent ray().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::hitTestClipPath const):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertPathOperation): Added support for converting CSSRayValue
to RayPathOperation.

4:49 PM Changeset in webkit [286085] by commit-queue@webkit.org
  • 9 edits in trunk

Integrate motion path transforms in transformation pipeline
https://bugs.webkit.org/show_bug.cgi?id=233144

Patch by Kiet Ho <Kiet Ho> on 2021-11-19
Reviewed by Dean Jackson.

Source/WebCore:

This patch ties everything together and renders CSS Motion Path out onto the screen.
Motion path properties are desugared into two transformations: one translate to move
the element to the specified location on the path, and one rotate to rotate the element
to the correct orientation specified by offset-rotate. The two transformations are applied
after scale() and before the individual transform functions, as specified in the CSS
Transforms spec.

Tests: imported/w3c/web-platform-tests/css/motion/animation/reftests/offset-path-with-transforms-001.html

imported/w3c/web-platform-tests/css/motion/offset-distance-001.html
imported/w3c/web-platform-tests/css/motion/offset-distance-002.html
imported/w3c/web-platform-tests/css/motion/offset-distance-003.html
imported/w3c/web-platform-tests/css/motion/offset-distance-004.html
imported/w3c/web-platform-tests/css/motion/offset-distance-005.html
imported/w3c/web-platform-tests/css/motion/offset-distance-006.html
imported/w3c/web-platform-tests/css/motion/offset-distance-007.html
imported/w3c/web-platform-tests/css/motion/offset-distance-008.html
imported/w3c/web-platform-tests/css/motion/offset-distance-009.html
imported/w3c/web-platform-tests/css/motion/offset-path-string-001.html
imported/w3c/web-platform-tests/css/motion/offset-path-string-002.html
imported/w3c/web-platform-tests/css/motion/offset-rotate-003.html
imported/w3c/web-platform-tests/css/motion/offset-rotate-004.html
imported/w3c/web-platform-tests/css/motion/offset-rotate-005.html

  • platform/graphics/Path.cpp:

(WebCore::Path::isClosed const): Added method to determine if a Path is closed (i.e,
the last draw command is CloseSubpath). This is required because offset-distance is
handled differently depending on if the Path is closed or not.

  • platform/graphics/Path.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::recompositeChangeRequiresGeometryUpdate): Account in changes in motion path properties.

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasTransform const): Account in motion path properties.

  • rendering/style/RenderStyle.cpp:

(WebCore::rareNonInheritedDataChangeRequiresLayout):
(WebCore::RenderStyle::applyTransform const): Add an additional step to apply motion path transforms.
(WebCore::getPathFromPathOperation):
(WebCore::getTraversalStateAtDistance):
(WebCore::RenderStyle::applyMotionPathTransform const): Added method to apply motion path transforms.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::hasTransform const): Account for motion path properties.

LayoutTests:

Removed ImageOnlyFailure expectations for tests that should now pass.

3:52 PM Changeset in webkit [286084] by achristensen@apple.com
  • 33 edits in trunk

Implement extension-path variant of redirect action in WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=233351

Reviewed by Tim Hatcher.

Source/WebCore:

Because the extension path changes each time you relaunch Safari but the compiled bytecode does not,
we need a way to pass in the extension base URL when adding the looked-up or compiled WKContentRuleList
to the WKUserContentController.

  • contentextensions/ContentExtension.cpp:

(WebCore::ContentExtensions::ContentExtension::create):
(WebCore::ContentExtensions::ContentExtension::ContentExtension):

  • contentextensions/ContentExtension.h:

(WebCore::ContentExtensions::ContentExtension::extensionBaseURL const):

  • contentextensions/ContentExtensionActions.cpp:

(WebCore::ContentExtensions::RedirectAction::applyToRequest):

  • contentextensions/ContentExtensionActions.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::ContentExtensions::applyResultsToRequest):

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/ContentRuleListResults.h:

Source/WebKit:

  • NetworkProcess/NetworkContentRuleListManager.cpp:

(WebKit::NetworkContentRuleListManager::addContentRuleLists):

  • NetworkProcess/NetworkContentRuleListManager.h:
  • NetworkProcess/NetworkContentRuleListManager.messages.in:
  • Shared/ServiceWorkerInitializationData.cpp:

(WebKit::ServiceWorkerInitializationData::decode):

  • Shared/ServiceWorkerInitializationData.h:
  • Shared/UserContentControllerParameters.cpp:

(WebKit::UserContentControllerParameters::decode):

  • Shared/UserContentControllerParameters.h:
  • Shared/WebCompiledContentRuleListData.cpp:

(WebKit::WebCompiledContentRuleListData::encode const):
(WebKit::WebCompiledContentRuleListData::decode):

  • Shared/WebCompiledContentRuleListData.h:

(WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData):

  • UIProcess/API/APIContentRuleList.cpp:

(API::ContentRuleList::ContentRuleList):
(API::ContentRuleList::name const):

  • UIProcess/API/APIContentRuleList.h:
  • UIProcess/API/APIContentRuleListStore.cpp:

(API::createExtension):

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addContentRuleList:extensionBaseURL:]):

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::contentExtensionRules):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::contentRuleListData const):
(WebKit::WebUserContentControllerProxy::addContentRuleList):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::addContentRuleList):
(WebKit::WebUserContentControllerProxy::contentExtensionRules):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::contentRuleListsFromIdentifier):

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addContentRuleLists):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:

(TEST_F):

3:19 PM Changeset in webkit [286083] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Unreviewed, reverting r286030.
https://bugs.webkit.org/show_bug.cgi?id=233387

5% JetStream2 regression

Reverted changeset:

"DFGByteCodeParser.cpp should avoid resizing the Operands<> of
every BasicBlock on every inlining"
https://bugs.webkit.org/show_bug.cgi?id=228053
https://commits.webkit.org/r286030

3:14 PM Changeset in webkit [286082] by graouts@webkit.org
  • 4 edits in trunk/Source/WebKit

[Model] Use RefPtr across ARKitInlinePreviewModelPlayer when creating strong pointers
https://bugs.webkit.org/show_bug.cgi?id=233375

Reviewed by Wenson Hsieh.

  • WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:

(WebKit::ARKitInlinePreviewModelPlayer::getCamera):
(WebKit::ARKitInlinePreviewModelPlayer::setCamera):
(WebKit::ARKitInlinePreviewModelPlayer::isPlayingAnimation):
(WebKit::ARKitInlinePreviewModelPlayer::setAnimationIsPlaying):

  • WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:

(WebKit::ARKitInlinePreviewModelPlayerIOS::enterFullscreen):

  • WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:

(WebKit::ARKitInlinePreviewModelPlayerMac::load):

2:41 PM Changeset in webkit [286081] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

[Model] Reduce use of callOnMainRunLoop in ModelElementControllerCocoa
https://bugs.webkit.org/show_bug.cgi?id=233376

Reviewed by Wenson Hsieh.

We only need to use callOnMainRunLoop inside of blocks.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::getCameraForModelElement):
(WebKit::ModelElementController::setCameraForModelElement):
(WebKit::ModelElementController::isPlayingAnimationForModelElement):
(WebKit::ModelElementController::setAnimationIsPlayingForModelElement):

2:38 PM Changeset in webkit [286080] by Chris Dumez
  • 2 edits
    1 add in trunk/Source/WebKit

Revert r282446 to bring back support for WebKitAdditions in Framework headers
https://bugs.webkit.org/show_bug.cgi?id=233374

Reviewed by Wenson Hsieh.

  • WebKit.xcodeproj/project.pbxproj:
  • mac/replace-webkit-additions-includes.py: Added.

(read_content_from_webkit_additions):
(main):

2:20 PM Changeset in webkit [286079] by Robert Jenner
  • 2 edits in trunk/Tools

[ Monterey ] TestWebKitAPI.WebSocket.PageWithAttributedBundleIdentifierDestroyed (API-test) is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=233224

Unreviewed test gardening.

  • TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:

(TestWebKitAPI::TEST):

2:19 PM Changeset in webkit [286078] by J Pascoe
  • 4 edits in trunk

[WebAuthn] Add headers for [_WKWebAuthenticationPanel makeCredentialWithClientDataHash] and [_WKWebAuthenticationPanel getAssertionWithClientDataHash]
https://bugs.webkit.org/show_bug.cgi?id=233371
<rdar://problem/85607248>
Source/WebKit:

Reviewed by Brent Fulgham.

These SPIs were added in https://bugs.webkit.org/show_bug.cgi?id=233216, but were not added to the header
file _WKWebAuthenticationPanel.h, this change adds them.

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:

Tools:

Reviewed by Brent Fulgham.

Add tests for [_WKWebAuthenticationPanel makeCredentialWithClientDataHash] and
[_WKWebAuthenticationPanel getAssertionWithClientDataHash].

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

2:05 PM Changeset in webkit [286077] by mmaxfield@apple.com
  • 99 edits
    58 copies
    5 adds in trunk/Source

[WebGPU] Add converters from serializable descriptors to interface descriptors
https://bugs.webkit.org/show_bug.cgi?id=233310

Reviewed by Dean Jackson.

Source/WebCore:

The WebGPU abstract interface (in PAL/graphics/WebGPU) has a set of structs for descriptors. These descriptors hold references to
objects, so these interfaces can't be serialized directly. Instead, we have a parallel set of structs (in WebKit/Shared/WebGPU)
which replace the object references with WebGPUIdentifiers. The web process side will convert the abstract interface structs
to the serializable ones, and the GPU process side will convert back. This patch implements the converters back, from the serializable
structs to the abstract interface structs.

No new tests because there is no behavior change.

  • Modules/WebGPU/GPUBindGroupDescriptor.h:

(WebCore::GPUBindGroupDescriptor::convertToBacking const):

  • Modules/WebGPU/GPUBindGroupLayoutDescriptor.h:

(WebCore::GPUBindGroupLayoutDescriptor::convertToBacking const):

  • Modules/WebGPU/GPUCompilationInfo.cpp:

(WebCore::GPUCompilationInfo::messages const):

  • Modules/WebGPU/GPUCompilationMessage.h:

(WebCore::GPUCompilationMessage::create):
(WebCore::GPUCompilationMessage::GPUCompilationMessage):

  • Modules/WebGPU/GPUComputePassTimestampWrite.h:

(WebCore::convertToBacking):

  • Modules/WebGPU/GPUDeviceDescriptor.h:

(WebCore::GPUDeviceDescriptor::convertToBacking const):

  • Modules/WebGPU/GPUFragmentState.h:

(WebCore::GPUFragmentState::convertToBacking const):

  • Modules/WebGPU/GPUPipelineLayoutDescriptor.h:

(WebCore::GPUPipelineLayoutDescriptor::convertToBacking const):

  • Modules/WebGPU/GPUProgrammableStage.h:

(WebCore::GPUProgrammableStage::convertToBacking const):

  • Modules/WebGPU/GPUQuerySetDescriptor.h:

(WebCore::GPUQuerySetDescriptor::convertToBacking const):

  • Modules/WebGPU/GPURenderBundleEncoderDescriptor.h:

(WebCore::GPURenderBundleEncoderDescriptor::convertToBacking const):

  • Modules/WebGPU/GPURenderPassDescriptor.h:

(WebCore::GPURenderPassDescriptor::convertToBacking const):

  • Modules/WebGPU/GPURenderPassLayout.h:

(WebCore::GPURenderPassLayout::convertToBacking const):

  • Modules/WebGPU/GPURenderPassTimestampWrite.h:

(WebCore::convertToBacking):

  • Modules/WebGPU/GPUVertexBufferLayout.h:

(WebCore::GPUVertexBufferLayout::convertToBacking const):

  • Modules/WebGPU/GPUVertexState.h:

(WebCore::GPUVertexState::convertToBacking const):

Source/WebCore/PAL:

  • pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp:

(PAL::WebGPU::AdapterImpl::requestDevice):

  • pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.h:
  • pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:

(PAL::WebGPU::DeviceImpl::createBindGroupLayout):
(PAL::WebGPU::DeviceImpl::createPipelineLayout):
(PAL::WebGPU::DeviceImpl::createBindGroup):
(PAL::WebGPU::convertToBacking):
(PAL::WebGPU::DeviceImpl::createRenderBundleEncoder):
(PAL::WebGPU::DeviceImpl::createQuerySet):

  • pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp:

(PAL::WebGPU::QueueImpl::submit):

  • pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp:

(PAL::WebGPU::RenderPassEncoderImpl::executeBundles):

  • pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp:

(PAL::WebGPU::TextureImpl::createView):
(PAL::WebGPU::TextureImpl::createView const): Deleted.

  • pal/graphics/WebGPU/WebGPUCompilationMessage.h:
  • pal/graphics/WebGPU/WebGPUSupportedFeatures.h:
  • pal/graphics/WebGPU/WebGPUSupportedLimits.h:
  • pal/graphics/WebGPU/WebGPUValidationError.h:

Source/WebKit:

  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.cpp:

(WebKit::WebGPU::ObjectHeap::convertAdapterFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBindGroupFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBindGroupLayoutFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBufferFromBacking):
(WebKit::WebGPU::ObjectHeap::convertCommandBufferFromBacking):
(WebKit::WebGPU::ObjectHeap::convertCommandEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertComputePassEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertComputePipelineFromBacking):
(WebKit::WebGPU::ObjectHeap::convertDeviceFromBacking):
(WebKit::WebGPU::ObjectHeap::convertExternalTextureFromBacking):
(WebKit::WebGPU::ObjectHeap::convertGPUFromBacking):
(WebKit::WebGPU::ObjectHeap::convertPipelineLayoutFromBacking):
(WebKit::WebGPU::ObjectHeap::convertQuerySetFromBacking):
(WebKit::WebGPU::ObjectHeap::convertQueueFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderBundleEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderBundleFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderPassEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderPipelineFromBacking):
(WebKit::WebGPU::ObjectHeap::convertSamplerFromBacking):
(WebKit::WebGPU::ObjectHeap::convertShaderModuleFromBacking):
(WebKit::WebGPU::ObjectHeap::convertTextureFromBacking):
(WebKit::WebGPU::ObjectHeap::convertTextureViewFromBacking):

  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h:
  • Scripts/generate-unified-sources.sh:
  • Shared/WebGPU/WebGPUBindGroupDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUFragmentState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBindGroupDescriptor.h:
  • Shared/WebGPU/WebGPUBindGroupEntry.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBindGroupDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBindGroupEntry.h:
  • Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.h:
  • Shared/WebGPU/WebGPUBindGroupLayoutEntry.cpp: Added.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBindGroupLayoutEntry.h:
  • Shared/WebGPU/WebGPUBlendComponent.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBlendComponent.h:
  • Shared/WebGPU/WebGPUBlendState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBlendState.h:
  • Shared/WebGPU/WebGPUBufferBinding.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBufferBinding.h:
  • Shared/WebGPU/WebGPUBufferBindingLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBufferBindingLayout.h:
  • Shared/WebGPU/WebGPUBufferDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyExternalImage.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUBufferDescriptor.h:
  • Shared/WebGPU/WebGPUCanvasConfiguration.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUFragmentState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUCanvasConfiguration.h:
  • Shared/WebGPU/WebGPUColor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUColor.h:
  • Shared/WebGPU/WebGPUColorTargetState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUColorTargetState.h:
  • Shared/WebGPU/WebGPUCommandBufferDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUCommandBufferDescriptor.h:
  • Shared/WebGPU/WebGPUCommandEncoderDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUCommandEncoderDescriptor.h:
  • Shared/WebGPU/WebGPUCompilationMessage.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUCompilationMessage.h:
  • Shared/WebGPU/WebGPUComputePassDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUComputePassDescriptor.h:
  • Shared/WebGPU/WebGPUComputePassTimestampWrites.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUComputePassDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUComputePassTimestampWrites.h:
  • Shared/WebGPU/WebGPUComputePipelineDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUComputePipelineDescriptor.h:
  • Shared/WebGPU/WebGPUConvertFromBackingContext.h:
  • Shared/WebGPU/WebGPUDepthStencilState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUDepthStencilState.h:
  • Shared/WebGPU/WebGPUDeviceDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUDeviceDescriptor.h:
  • Shared/WebGPU/WebGPUError.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUOrigin2D.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUError.h:
  • Shared/WebGPU/WebGPUExtent3D.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUExtent3D.h:
  • Shared/WebGPU/WebGPUExternalTextureBindingLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUExternalTextureBindingLayout.h:
  • Shared/WebGPU/WebGPUExternalTextureDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUExternalTextureDescriptor.h:
  • Shared/WebGPU/WebGPUFragmentState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUPipelineDescriptorBase.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUFragmentState.h:
  • Shared/WebGPU/WebGPUImageCopyBuffer.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyBuffer.h:
  • Shared/WebGPU/WebGPUImageCopyExternalImage.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyExternalImage.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyExternalImage.h:
  • Shared/WebGPU/WebGPUImageCopyTexture.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyExternalImage.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyTexture.h:
  • Shared/WebGPU/WebGPUImageCopyTextureTagged.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageCopyTextureTagged.h:
  • Shared/WebGPU/WebGPUImageDataLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUImageDataLayout.h:
  • Shared/WebGPU/WebGPUMultisampleState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUMultisampleState.h:
  • Shared/WebGPU/WebGPUObjectDescriptorBase.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUObjectDescriptorBase.h:
  • Shared/WebGPU/WebGPUOrigin2D.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUPipelineLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUOrigin2D.h:
  • Shared/WebGPU/WebGPUOrigin3D.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBindGroupLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUOrigin3D.h:
  • Shared/WebGPU/WebGPUOutOfMemoryError.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUOutOfMemoryError.h:
  • Shared/WebGPU/WebGPUPipelineDescriptorBase.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUPipelineDescriptorBase.h:
  • Shared/WebGPU/WebGPUPipelineLayoutDescriptor.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUPipelineLayoutDescriptor.h:
  • Shared/WebGPU/WebGPUPrimitiveState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUPrimitiveState.h:
  • Shared/WebGPU/WebGPUProgrammableStage.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUProgrammableStage.h:
  • Shared/WebGPU/WebGPUQuerySetDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUQuerySetDescriptor.h:
  • Shared/WebGPU/WebGPURenderBundleDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderBundleDescriptor.h:
  • Shared/WebGPU/WebGPURenderBundleEncoderDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUObjectDescriptorBase.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderBundleEncoderDescriptor.h:
  • Shared/WebGPU/WebGPURenderPassColorAttachment.cpp: Added.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassColorAttachment.h:
  • Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyBuffer.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
  • Shared/WebGPU/WebGPURenderPassDescriptor.cpp: Added.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassDescriptor.h:
  • Shared/WebGPU/WebGPURenderPassLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassLayout.h:
  • Shared/WebGPU/WebGPURenderPassTimestampWrites.cpp: Copied from Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrite.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPassTimestampWrites.h:
  • Shared/WebGPU/WebGPURenderPipelineDescriptor.cpp: Added.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURenderPipelineDescriptor.h:
  • Shared/WebGPU/WebGPURequestAdapterOptions.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPURequestAdapterOptions.h:
  • Shared/WebGPU/WebGPUSamplerBindingLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUSamplerBindingLayout.h:
  • Shared/WebGPU/WebGPUSamplerDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUSamplerDescriptor.h:
  • Shared/WebGPU/WebGPUShaderModuleDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSamplerBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUShaderModuleDescriptor.h:
  • Shared/WebGPU/WebGPUStencilFaceState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUStencilFaceState.h:
  • Shared/WebGPU/WebGPUStorageTextureBindingLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUSupportedFeatures.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUStorageTextureBindingLayout.h:
  • Shared/WebGPU/WebGPUSupportedFeatures.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUSupportedFeatures.h:
  • Shared/WebGPU/WebGPUSupportedLimits.cpp: Added.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUSupportedLimits.h:
  • Shared/WebGPU/WebGPUTextureBindingLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUValidationError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUTextureBindingLayout.h:
  • Shared/WebGPU/WebGPUTextureDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUTextureDescriptor.h:
  • Shared/WebGPU/WebGPUTextureViewDescriptor.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUObjectDescriptorBase.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUTextureViewDescriptor.h:
  • Shared/WebGPU/WebGPUValidationError.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUError.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUValidationError.h:
  • Shared/WebGPU/WebGPUVertexAttribute.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUExternalTextureBindingLayout.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUVertexAttribute.h:
  • Shared/WebGPU/WebGPUVertexBufferLayout.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUImageCopyBuffer.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUVertexBufferLayout.h:
  • Shared/WebGPU/WebGPUVertexState.cpp: Copied from Source/WebKit/Shared/WebGPU/WebGPUBlendState.h.

(WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking):

  • Shared/WebGPU/WebGPUVertexState.h:
  • Sources.txt:
  • UnifiedSources-output.xcfilelist:
  • WebKit.xcodeproj/project.pbxproj:
2:00 PM Changeset in webkit [286076] by Jonathan Bedard
  • 10 edits in trunk/Tools

[webkitcorepy] Indicate to user the default option
https://bugs.webkit.org/show_bug.cgi?id=233342
<rdar://problem/85573383>

Reviewed by Ryan Haddad.

  • Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:

(Terminal.choose): Surround the default option with square brackets.

  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py:

(TerminalTests.test_choose_triple):

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:

(Setup.github): We should construct a user owned mirror by default.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:

(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_svn):
(TestLandGitHub):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:

(TestSetup.test_github):

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

1:43 PM Changeset in webkit [286075] by beidson@apple.com
  • 17 edits
    1 copy
    1 add in trunk

More webpushd architecture work
https://bugs.webkit.org/show_bug.cgi?id=233295

Reviewed by Alex Christensen.

Source/WebKit:

Covered by API tests.

This patch:

  • Adds entitlement checks for connections to webpushd
  • Adds a "ClientConnection" object to the daemon to manage per-connection state
  • Adds a debug enabled setting
  • Adds the ability for the connecting app (com.apple.WebKit.Networking) to pass the host app's audit_token
  • Tests some of the above
  • Adds the beginnings of other future infrastructure
  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:

(WebKit::NetworkNotificationManager::NetworkNotificationManager):

  • Resources/ios/XPCService-embedded-simulator.entitlements:
  • Scripts/process-entitlements.sh:
  • Shared/Cocoa/CodeSigning.h:
  • Shared/Cocoa/CodeSigning.mm:

(WebKit::codeSigningIdentifierAndPlatformBinaryStatus):
(WebKit::codeSigningIdentifier):

  • Shared/WebPushDaemonConstants.h:

(WebKit::WebPushD::messageTypeSendsReply):

  • WebKit.xcodeproj/project.pbxproj:
  • webpushd/PushClientConnection.h: Copied from Source/WebKit/Shared/Cocoa/CodeSigning.h.

(WebPushD::ClientConnection::hasAuditToken const):
(WebPushD::ClientConnection::debugModeIsEnabled const):

  • webpushd/PushClientConnection.mm: Added.

(WebPushD::ClientConnection::ClientConnection):
(WebPushD::ClientConnection::setAuditTokenData):
(WebPushD::ClientConnection::hostCodeSigningIdentifier):
(WebPushD::ClientConnection::hostHasPushEntitlement):
(WebPushD::ClientConnection::setDebugModeIsEnabled):

  • webpushd/WebPushDaemon.h:
  • webpushd/WebPushDaemon.mm:

(WebPushD::handleWebPushDMessageWithReply):
(WebPushD::handleWebPushDMessage):
(WebPushD::Daemon::broadcastDebugMessage):
(WebPushD::Daemon::connectionEventHandler):
(WebPushD::Daemon::connectionAdded):
(WebPushD::Daemon::connectionRemoved):
(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::echoTwice):
(WebPushD::Daemon::canRegisterForNotifications):
(WebPushD::Daemon::requestSystemNotificationPermission):
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions):
(WebPushD::Daemon::deletePushAndNotificationRegistration):
(WebPushD::Daemon::setHostAppAuditToken):
(WebPushD::Daemon::setDebugModeIsEnabled):
(WebPushD::Daemon::toClientConnection):

  • webpushd/WebPushDaemonMain.mm:

(main):

Tools:

  • TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
  • TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
  • TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
  • TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:

(TestWebKitAPI::TEST):

1:35 PM Changeset in webkit [286074] by Jonathan Bedard
  • 7 edits
    1 move in trunk/Tools

[resultsdbpy] Move AuthedBlueprint to webkitflaskpy
https://bugs.webkit.org/show_bug.cgi?id=233339
<rdar://problem/85571604>

Reviewed by Ryan Haddad.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py: Import

AuthedBlueprint from webkitflaskpy.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes.py: Ditto.
  • Scripts/libraries/resultsdbpy/setup.py: Bump version.
  • Scripts/libraries/webkitflaskpy/setup.py: Ditto.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy/init.py: Bump Export object.
  • Scripts/libraries/webkitflaskpy/webkitflaskpy/authed_blueprint.py: Renamed from

Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/authed_blueprint.py.

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

1:20 PM Changeset in webkit [286073] by Brent Fulgham
  • 9 edits in trunk

Add support for web app manifest icons in WebKit/UI Process layer
https://bugs.webkit.org/show_bug.cgi?id=233350
<rdar://problem/84311569>

Reviewed by Chris Dumez.

Source/WebCore:

This patch builds on the work in Bug 231339 and threads the new icons
feature through the WebKit layer.

This change modifies the parser to represent the 'sizes' member of the
icon as an array of strings, rather than a single string containing the
sizes as a set of space-separated items. This more closesly matches the
behavior of the WebKit API layer.

Tested by TestWebKitAPI.

  • Modules/applicationmanifest/ApplicationManifest.h:
  • Modules/applicationmanifest/ApplicationManifestParser.cpp:

(WebCore::ApplicationManifestParser::parseIcons):

Source/WebKit:

This patch builds on the work in Bug 231339 and threads the new icons
feature through the WebKit layer.

Note: This change also moves the implementation of _WKApplicationManifestIcon
earlier in the file since the implementation is needed for proper serialization
of the _WKApplicationManifest.

Tested by TestWebKitAPI (ApplicationManifest.Icons) test.

  • UIProcess/API/Cocoa/_WKApplicationManifest.h:
  • UIProcess/API/Cocoa/_WKApplicationManifest.mm:

(fromPurposes): New helper function.
(makeVectorElement): Ditto.
(-[_WKApplicationManifestIcon initWithCoder:]): Updated to call proper
serialization methods.
(-[_WKApplicationManifestIcon initWithCoreIcon:]): Added.
(-[_WKApplicationManifest initWithCoder:]): Updated to properly handle
serializing the object.
(-[_WKApplicationManifest icons]): Added.

Tools:

Add a new API test to exercise the _WKApplicationManifestIcon API.

  • TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:

(ApplicationManifestParserTest::testIconsSizes):
(TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:

(TestWebKitAPI::TEST):

12:12 PM Changeset in webkit [286072] by Robert Jenner
  • 2 edits in trunk/Tools

[ Monterey ]TestWebKitAPI.PrivateClickMeasurement.EphemeralWithAttributedBundleIdentifier (API-test) is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=233345

Unreviewed test gardening.

  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::TEST):

11:47 AM Changeset in webkit [286071] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Enable message filtering for all WebKit processes
https://bugs.webkit.org/show_bug.cgi?id=233334
<rdar://problem/85568306>

Reviewed by Brent Fulgham.

The sandbox parameter enabling message filtering should be set in all WebKit processes.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::AuxiliaryProcess::initializeSandbox):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeSandbox):

11:36 AM Changeset in webkit [286070] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Fix assertion added in r285592
https://bugs.webkit.org/show_bug.cgi?id=233373
JSTests:

Reviewed by Keith Miller.

  • stress/validate-assert-uid-is-not-index-or-it-is-symbol.js: Added.

(main.v11):
(main.v29):
(main):

Source/JavaScriptCore:

rdar://85451012

Reviewed by Keith Miller.

The assertion added in r285592 should not apply to Symbols. This patch
fixes that error. We don't care if a Symbol can be parsed as an index
since the string value in a Symbol is just its description, not the
actual property.

  • dfg/DFGValidate.cpp:
11:17 AM Changeset in webkit [286069] by commit-queue@webkit.org
  • 10 edits in trunk

[JSC] Shadow realms: set correct Function prototype on wrapped functions
https://bugs.webkit.org/show_bug.cgi?id=233143

Patch by Joseph Griego <jgriego@igalia.com> on 2021-11-19
Reviewed by Yusuke Suzuki.

At present, the Function prototype set on each of the returned wrapped
functions will be the Function object from the realm the shadow realm
builtin is from--to comply with the latest draft of the shadow realms
spec [1], wrapped function objects should have the Function prototype
from the realm the wrapper object is destined for, instead.

At present, this requires tracking both the calling (destination) and
target (source) realm and switching between the two as function
arguments are wrapped (when the notion of source and destination realm
also flips)

Adds a simple builtin (moveFunctionToRealm) that can switch the Function
prototype given only the Shadow Realm object corresponding to the
correct global object.

Also marks the corresponding part of test262 as passing.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

[1] https://tc39.es/proposal-shadowrealm/ sections 2.1, 2.2

  • builtins/BuiltinNames.h:
  • builtins/ShadowRealmPrototype.js:

(wrapped):
(globalPrivate.wrap):
(evaluate):
(importValue):
(globalPrivate.wrap.wrapped): Deleted.

  • bytecode/LinkTimeConstant.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ShadowRealmPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/ShadowRealmPrototype.h:
11:05 AM Changeset in webkit [286068] by graouts@webkit.org
  • 20 edits in trunk/Source

[Model] add support for seeking animations
https://bugs.webkit.org/show_bug.cgi?id=233362
<rdar://problem/85428812>

Reviewed by Wenson Hsieh.

Source/WebCore:

We add three new promise-based methods to the HTMLModelElement IDL to allow seeking the animation
built into the USDZ asset: animationDuration(), animationCurrentTime() and setAnimationCurrentTime().
All these methods are promise-based.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::animationDuration):
(WebCore::HTMLModelElement::animationCurrentTime):
(WebCore::HTMLModelElement::setAnimationCurrentTime):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/HTMLModelElement.idl:
  • Modules/model-element/ModelPlayer.h:
  • Modules/model-element/dummy/DummyModelPlayer.cpp:

(WebCore::DummyModelPlayer::animationDuration):
(WebCore::DummyModelPlayer::animationCurrentTime):
(WebCore::DummyModelPlayer::setAnimationCurrentTime):

  • Modules/model-element/dummy/DummyModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.mm:

(WebCore::SceneKitModelPlayer::animationDuration):
(WebCore::SceneKitModelPlayer::animationCurrentTime):
(WebCore::SceneKitModelPlayer::setAnimationCurrentTime):

Source/WebCore/PAL:

Add the new ARQL SPIs we are using to query the animation duration, the current and time
as well as allowing to set the latter.

  • pal/spi/ios/SystemPreviewSPI.h:
  • pal/spi/mac/SystemPreviewSPI.h:

Source/WebKit:

Expose new WebPageProxy messages to let the WebProcess message the UIProcess
to call into ASVInlinePreview methods to get and set the animation's current
time as well as getting its duration.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::animationDurationForModelElement):
(WebKit::ModelElementController::animationCurrentTimeForModelElement):
(WebKit::ModelElementController::setAnimationCurrentTimeForModelElement):

  • UIProcess/ModelElementController.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::modelElementAnimationDuration):
(WebKit::WebPageProxy::modelElementAnimationCurrentTime):
(WebKit::WebPageProxy::modelElementSetAnimationCurrentTime):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:

(WebKit::ARKitInlinePreviewModelPlayer::animationDuration):
(WebKit::ARKitInlinePreviewModelPlayer::animationCurrentTime):
(WebKit::ARKitInlinePreviewModelPlayer::setAnimationCurrentTime):

10:52 AM Changeset in webkit [286067] by Ryan Haddad
  • 99 edits
    63 deletes in trunk/Source

Unreviewed, reverting r286047.

Breaks internal builds

Reverted changeset:

"[WebGPU] Add converters from serializable descriptors to
interface descriptors"
https://bugs.webkit.org/show_bug.cgi?id=233310
https://commits.webkit.org/r286047

10:21 AM Changeset in webkit [286066] by graouts@webkit.org
  • 20 edits in trunk/Source

[Model] add support for controlling looping animations
https://bugs.webkit.org/show_bug.cgi?id=233356
<rdar://problem/85428884>

Reviewed by Wenson Hsieh.

Source/WebCore:

We add two new promise-based methods to the HTMLModelElement IDL to control the looping state
of the animation built into the USDZ asset: isLoopingAnimation() and setIsLoopingAnimation().
All these methods are promise-based.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::isLoopingAnimation):
(WebCore::HTMLModelElement::setIsLoopingAnimation):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/HTMLModelElement.idl:
  • Modules/model-element/ModelPlayer.h:
  • Modules/model-element/dummy/DummyModelPlayer.cpp:

(WebCore::DummyModelPlayer::isLoopingAnimation):
(WebCore::DummyModelPlayer::setIsLoopingAnimation):

  • Modules/model-element/dummy/DummyModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.mm:

(WebCore::SceneKitModelPlayer::isLoopingAnimation):
(WebCore::SceneKitModelPlayer::setIsLoopingAnimation):

Source/WebCore/PAL:

Add the new ARQL SPIs we are using to control animation looping.

  • pal/spi/ios/SystemPreviewSPI.h:
  • pal/spi/mac/SystemPreviewSPI.h:

Source/WebKit:

Expose new WebPageProxy messages to let the WebProcess message the UIProcess
to call into ASVInlinePreview methods to get and set the animation's looping
state.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::isLoopingAnimationForModelElement):
(WebKit::ModelElementController::setIsLoopingAnimationForModelElement):

  • UIProcess/ModelElementController.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::modelElementIsLoopingAnimation):
(WebKit::WebPageProxy::modelElementSetIsLoopingAnimation):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:

(WebKit::ARKitInlinePreviewModelPlayer::isLoopingAnimation):
(WebKit::ARKitInlinePreviewModelPlayer::setIsLoopingAnimation):

9:42 AM Changeset in webkit [286065] by graouts@webkit.org
  • 22 edits in trunk/Source

[Model] add audio support
https://bugs.webkit.org/show_bug.cgi?id=233365
<rdar://problem/85428982>

Reviewed by Wenson Hsieh.

Source/WebCore:

We add three new promise-based methods to the HTMLModelElement IDL to control the audio state
of the animation built into the USDZ asset: hasAudio(), isMuted() and setIsMuted().
All these methods are promise-based.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::hasAudio):
(WebCore::HTMLModelElement::isMuted):
(WebCore::HTMLModelElement::setIsMuted):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/HTMLModelElement.idl:
  • Modules/model-element/ModelPlayer.h:
  • Modules/model-element/dummy/DummyModelPlayer.cpp:

(WebCore::DummyModelPlayer::hasAudio):
(WebCore::DummyModelPlayer::isMuted):
(WebCore::DummyModelPlayer::setIsMuted):

  • Modules/model-element/dummy/DummyModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.mm:

(WebCore::SceneKitModelPlayer::hasAudio):
(WebCore::SceneKitModelPlayer::isMuted):
(WebCore::SceneKitModelPlayer::setIsMuted):

Source/WebCore/PAL:

Add the new ARQL SPIs we are using for audio control.

  • pal/spi/ios/SystemPreviewSPI.h:
  • pal/spi/mac/SystemPreviewSPI.h:

Source/WebKit:

Expose new WebPageProxy messages to let the WebProcess message the UIProcess
to call into ASVInlinePreview methods to get and set the muted state and get
whehter the model contains audio.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::previewHasAudioSupport):
(WebKit::ModelElementController::hasAudioForModelElement):
(WebKit::ModelElementController::isMutedForModelElement):
(WebKit::ModelElementController::setIsMutedForModelElement):

  • UIProcess/ModelElementController.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::modelElementHasAudio):
(WebKit::WebPageProxy::modelElementIsMuted):
(WebKit::WebPageProxy::modelElementSetIsMuted):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:

(WebKit::ARKitInlinePreviewModelPlayer::hasAudio):
(WebKit::ARKitInlinePreviewModelPlayer::isMuted):
(WebKit::ARKitInlinePreviewModelPlayer::setIsMuted):

Source/WTF:

Add a new compile-time flag for the new autio-related ARQL SPIs we are using.

  • wtf/PlatformEnableCocoa.h:
9:09 AM Changeset in webkit [286064] by Antti Koivisto
  • 3 edits
    2 adds in trunk

[CSS Cascade Layers] [Debug] ASSERTION FAILED: m_childRules.isEmpty() when using @import with layer name
https://bugs.webkit.org/show_bug.cgi?id=233283
<rdar://problem/85520733>

Reviewed by Antoine Quint.

Source/WebCore:

CSS parser is allowing rules in illegal order (@import rule following @layer block)

Test: fast/css/layer-illegal-import.html

  • css/parser/CSSParserImpl.cpp:

(WebCore::computeNewAllowedRules):

Only stay in AllowLayerStatementRules state if the new layer is a statement, not a block.

LayoutTests:

  • fast/css/layer-illegal-import-expected.html: Added.
  • fast/css/layer-illegal-import.html: Added.
8:53 AM Changeset in webkit [286063] by Antti Koivisto
  • 4 edits
    2 adds in trunk

:hover with descendant selector not invalidated correctly in shadow tree
https://bugs.webkit.org/show_bug.cgi?id=233354

Reviewed by Antoine Quint.

Source/WebCore:

We optimize :hover and :active by only invalidating for descendant selectors with a single tree walk.
This doesn't work correctly for shadow trees as their scoped style may differ and the invalidation
is limited to a single scope anyway.

Fix by doing descendant invalidation for each affected scope.

Test: fast/selectors/hover-descendant-shadow-tree.html

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

We need to perform scoped descendant invalidation for elements that are parented to ShadowRoot.

LayoutTests:

  • fast/selectors/hover-descendant-shadow-tree-expected.html: Added.
  • fast/selectors/hover-descendant-shadow-tree.html: Added.
  • platform/ios/TestExpectations:
7:57 AM Changeset in webkit [286062] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Remove allocation in JSON::Value::parseJSON
https://bugs.webkit.org/show_bug.cgi?id=233346

Patch by Alex Christensen <achristensen@webkit.org> on 2021-11-19
Reviewed by Yusuke Suzuki.

Parse the characters as Latin1 characters if we have an 8 bit string rather than converting them to UTF-16 just to be parsed.

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::parseJSON):

7:37 AM Changeset in webkit [286061] by commit-queue@webkit.org
  • 13 edits
    8 adds in trunk

LayoutTests/imported/w3c:
Import css/css-values/urls web-platform-tests
Don't modify fragment-only or empty image URLs
https://bugs.webkit.org/show_bug.cgi?id=229917

Patch by Matt Woodrow <matt.woodrow@gmail.com> on 2021-11-19
Reviewed by Darin Adler.

Change handling of empty and fragment url()s for images to not convert to a fully resolved
path, and instead preserve them as-is, to match css-values4 requirements.

Import new tests in css/css-values/urls from 5e3187856a311f583124735cad5a03baa61951b3 and
add expectations for the new tests.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-values/urls/empty-expected.txt:
  • web-platform-tests/css/css-values/urls/empty.html:
  • web-platform-tests/css/css-values/urls/fragment-only-expected.txt: Added.
  • web-platform-tests/css/css-values/urls/fragment-only.html: Added.
  • web-platform-tests/css/css-values/urls/resolve-relative-to-base-expected.txt: Added.
  • web-platform-tests/css/css-values/urls/resolve-relative-to-base.html: Added.
  • web-platform-tests/css/css-values/urls/resolve-relative-to-stylesheet-expected.txt: Added.
  • web-platform-tests/css/css-values/urls/resolve-relative-to-stylesheet.html: Added.
  • web-platform-tests/css/css-values/urls/support/fragment-only-urls.css: Added.

(:root):
(#external-unquoted):
(#external-quoted):
(#external-variable):

  • web-platform-tests/css/css-values/urls/support/relative-urls.css: Added.

(:root):
(#stylesheet-relative-image):
(#stylesheet-relative-variable-image):
(#stylesheet-relative-document-variable-image):

  • web-platform-tests/css/css-values/urls/support/w3c-import.log:
  • web-platform-tests/css/css-values/urls/w3c-import.log:

Source/WebCore:
Don't modify fragment-only or empty image URLs
https://bugs.webkit.org/show_bug.cgi?id=229917

Patch by Matt Woodrow <matt.woodrow@gmail.com> on 2021-11-19
Reviewed by Darin Adler.

Don't modify fragment-only or empty image URLs, as-per css-values-4

Existing web-platform-tests are marked as passing.

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::reresolvedURL const):

  • css/parser/CSSParserContext.cpp:

(WebCore::CSSParserContext::completeURL const):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeImage):

  • dom/Document.cpp:

(WebCore::Document::completeURL const):

7:01 AM Changeset in webkit [286060] by Angelos Oikonomopoulos
  • 11 edits in trunk

[JSC] Workaround for failing mips tests
https://bugs.webkit.org/show_bug.cgi?id=233359

Reviewed by Adrian Perez de Castro.

.:

Add a compiler flag on GCC+mips to work around a code generation bug
resulting in SIGBUS. This only manifests when running 32-bit mips code
on mips64 hardware (which the buildbots do).

  • Source/cmake/WebKitCompilerFlags.cmake:

JSTests:

Re-enable tests skipped on mips after adding workaround.

  • stress/call-varargs-double-new-array-buffer.js:
  • stress/callee-save-fpr.js:
  • stress/forward-varargs-double-new-array-buffer.js:
  • stress/new-array-with-spread-cow-double.js:
  • stress/new-array-with-spread-double-new-array-buffer.js:
  • stress/spread-escapes-but-new-array-buffer-does-not-double.js:

PerformanceTests:

Re-enable tests skipped on mips after adding workaround.

  • ARES-6/Basic/basic-tests.yaml:
6:51 AM Changeset in webkit [286059] by Carlos Garcia Campos
  • 7 edits
    1 add in trunk

[GTK][a11y] Add implementation of document interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=232755

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • SourcesGTK.txt:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::locale const):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::documentAttribute const):
(WebCore::AccessibilityObjectAtspi::documentAttributes const):
(WebCore::AccessibilityObjectAtspi::documentLocale const):

Tools:

Add unit test for the document interface and WTR implementation.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testDocumentBasic):
(beforeAll):

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):

6:48 AM Changeset in webkit [286058] by Antti Koivisto
  • 11 edits
    2 adds in trunk/Source/WebCore

Factor child change invalidation into class
https://bugs.webkit.org/show_bug.cgi?id=233311

Reviewed by Alan Bujtas.

Use similar pattern as ClassChangeInvalidation and others where we create a stack object scoped
over a DOM mutation. This will allow more sophisticated ruleset based invalidation in
future.

This patch moves the invalidation code from childrenChanged() to the new ChildChangeInvalidation class.
ChildChangeInvalidation is instantiated in ContainerNode and CharacterData mutation functions
that call childrenChanged(). It uses the same ChildChange argument type as childrenChanged().

There are no changes to invalidation functionality in this patch.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/CharacterData.cpp:

(WebCore::makeChildChange):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::notifyParentAfterChange):

  • dom/CharacterData.h:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::makeChildChangeForRemoval):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::makeChildChangeForInsertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::replaceAll):
(WebCore::ContainerNode::appendChildWithoutPreInsertionValidityCheck):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::affectsElements):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ChildChange::isInsertion const):

Add a new FinishedParsingChildren change type, only used when invalidating from Element::finishParsingChildren.

  • dom/Element.cpp:

(WebCore::invalidateForSiblingCombinators):
(WebCore::Element::childTypeAllowed const):
(WebCore::Element::childrenChanged):
(WebCore::Element::finishParsingChildren):
(WebCore::checkForEmptyStyleChange): Deleted.
(WebCore::invalidateForForwardPositionalRules): Deleted.
(WebCore::invalidateForBackwardPositionalRules): Deleted.
(WebCore::checkForSiblingStyleChanges): Deleted.

  • dom/Element.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::childrenChanged):

  • style/ChildChangeInvalidation.cpp: Added.

(WebCore::Style::ChildChangeInvalidation::ChildChangeInvalidation):
(WebCore::Style::ChildChangeInvalidation::~ChildChangeInvalidation):
(WebCore::Style::ChildChangeInvalidation::invalidateAfterChange):
(WebCore::Style::ChildChangeInvalidation::checkForEmptyStyleChange):
(WebCore::Style::invalidateForForwardPositionalRules):
(WebCore::Style::invalidateForBackwardPositionalRules):
(WebCore::Style::ChildChangeInvalidation::checkForSiblingStyleChanges):

  • style/ChildChangeInvalidation.h: Added.

(WebCore::Style::ChildChangeInvalidation::parentElement):

  • style/StyleAdjuster.h:
6:39 AM Changeset in webkit [286057] by Adrian Perez de Castro
  • 2 edits
    2 adds in trunk/Tools/buildstream

[Flatpak SDK] Add build recipe for libjxl
https://bugs.webkit.org/show_bug.cgi?id=233326

Reviewed by Philippe Normand.

Add the build recipe for libjxl, which in turns needs highway (libhwy), which gets imported
as well. Highway is always built as a static library, and therefore only needed at build
time. As for libjxl, the recipe tries to disable as much as possible of bundled sources from
its third_party/ subdirectory, but LodePNG gets always needed, and the same goes for either
SkCMS or LCMS2; and in both cases they get built and linked statically into the resulting
libjxl library. Ideally we would prefer that libjxl could use a system-installed copy of
LCMS2 because that is already available in the SDK, but that not being an option SkCMS is
preferred as it is smaller.

  • elements/sdk-platform.bst: List libjxl for installation in the SDK.
  • elements/sdk/highway.bst: Added.
  • elements/sdk/libjxl.bst: Added.
6:30 AM Changeset in webkit [286056] by Carlos Garcia Campos
  • 7 edits
    1 add in trunk

[GTK][a11y] Add implementation of action interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=232749

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • SourcesGTK.txt:
  • accessibility/atspi/AccessibilityObjectActionAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::actionName const):
(WebCore::AccessibilityObjectAtspi::localizedActionName const):
(WebCore::AccessibilityObjectAtspi::actionKeyBinding const):
(WebCore::AccessibilityObjectAtspi::doAction const):

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:

Tools:

Add a unit test for the action interface and WTR implementation.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testActionBasic):
(beforeAll):

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::isPressActionSupported):
(WTR::AccessibilityUIElement::press):

5:35 AM Changeset in webkit [286055] by Carlos Garcia Campos
  • 9 edits
    1 add in trunk

[GTK][a11y] Add implementation of hypertext interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=232708

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • SourcesGTK.txt:
  • accessibility/atspi/AccessibilityAtspi.cpp:

(WebCore::AccessibilityAtspi::unregisterObject):
(WebCore::AccessibilityAtspi::registerHyperlink):

  • accessibility/atspi/AccessibilityAtspi.h:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::hyperlinkReference):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::hyperlinkCount const):
(WebCore::AccessibilityObjectAtspi::hyperlink const):
(WebCore::AccessibilityObjectAtspi::hyperlinkIndex const):

  • accessibility/atspi/AccessibilityObjectTextAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::characterIndex const):

Tools:

Add unit tests to check hypertext interface.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testHypertextBasic):
(beforeAll):

1:52 AM Changeset in webkit [286054] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. [GLIB] Add new test case to /jsc/class

Add a test case to check using JSC_TYPE_VALUE for a JSCClass property.

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:

(setFooValue):
(getFooValue):
(testJSCClass):

1:38 AM Changeset in webkit [286053] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

AirFixObviousSpills should be optimized
https://bugs.webkit.org/show_bug.cgi?id=228052

Reviewed by Yusuke Suzuki.

There were two problems with AirFixObviousSpills:

  • merge() had a quadratic blow-up, as for each element in a vector, it was searching it in a different vector.
  • it would visit blocks even when their state at head had not changed.

I fixed the first problem by making sure that the vectors are sorted before calling merge, and making use of that invariant in the search of the vectors
(see filterVectorAgainst)
This reduced the total time spent in that phase from 390ms to 230ms, and the worst case time spent in that phase for one function from 100ms to 30ms (all of the results in this Changelog are for JetStream2 on a M1 MBP).

I fixed the second problem even more easily by adding a m_shouldVisit BitVector. I also moved the m_wasVisited boolean that was in State to a m_notBottom BitVector for simplicity and symmetry.
That change further reduced the total/max time from 230ms/30ms to 140ms/16ms.

  • b3/air/AirFixObviousSpills.cpp:
1:01 AM Changeset in webkit [286052] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

REGRESSION(r285859) [GTK][WPE] a number of accessibility/* tests crash on GTK and WPE
https://bugs.webkit.org/show_bug.cgi?id=233221

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-11-19
Reviewed by Carlos Garcia Campos.

Tools:

Add null checks in the ATK code to ensure AccessibilityUIElement::create()
is not passed a NULL pointer.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:

(WTR::AccessibilityController::focusedElement):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/glib/accessibility/add-children-pseudo-element-expected.txt:
  • platform/glib/accessibility/aria-modal-text-descendants-expected.txt: Added.
  • platform/glib/accessibility/table-cell-display-block-expected.txt: Added.
12:54 AM Changeset in webkit [286051] by ysuzuki@apple.com
  • 3 edits in trunk/Source/bmalloc

[libpas] Unreviewed, build fix for relatively old clang on oss-fuzz
https://bugs.webkit.org/show_bug.cgi?id=233097

  • libpas/src/libpas/pas_utils.h:
  • libpas/src/libpas/pas_utils_prefix.h:

(pas_depend_impl):
(
pas_depend):
(pas_depend_cpu_only):

12:51 AM Changeset in webkit [286050] by Carlos Garcia Campos
  • 9 edits
    1 add in trunk

[GTK][a11y] Add implementation of hyperlink interface when building with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=232707

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Add hyperlink implementation and make links be handled as replaced objects too, to ensure all hyperlinks are
handled the same way. That's consistent with chromium.

  • SourcesGTK.txt:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::interfacesForObject):
(WebCore::AccessibilityObjectAtspi::path):
(WebCore::AccessibilityObjectAtspi::buildInterfaces const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp: Added.

(WebCore::AccessibilityObjectAtspi::url const):
(WebCore::AccessibilityObjectAtspi::offsetInParent const):

  • accessibility/atspi/AccessibilityObjectTextAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::characterOffset const):

  • editing/TextIterator.cpp:

(WebCore::isRendererReplacedElement):
(WebCore::TextIterator::handleReplacedElement):

Tools:

Add unit tests to check hyperlink interface and implement AccessibilityUIElement::url() in WTR.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testTextReplacedObjects):
(testHyperlinkBasic):
(beforeAll):

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::url):

Note: See TracTimeline for information about the timeline view.