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

Timeline



Nov 21, 2021:

7:06 PM Changeset in webkit [286108] by cathiechen
  • 1 edit
    1 add in trunk/PerformanceTests

[Performance test][css-contain] Add case to test contain: layout inside a complex document
https://bugs.webkit.org/show_bug.cgi?id=232883

Reviewed by Rob Buis.

This case test the performance of changing the content of a layout containment which is
inside a complex document.

  • Layout/css-contain-layout-size-inside-complex-document.html: Added.
3:58 PM Changeset in webkit [286107] by Alan Bujtas
  • 15 edits in trunk

[LFC][Integration] Enable bidi content for non-inline-box cases
https://bugs.webkit.org/show_bug.cgi?id=232980
<rdar://problem/85281410>

Reviewed by Antti Koivisto.

Source/WebCore:

  • layout/integration/LayoutIntegrationCoverage.cpp:

LayoutTests:

  • platform/ios/fast/dom/52776-expected.txt: progression
  • platform/ios/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt: progression
  • platform/ios/fast/text/international/bidi-neutral-run-expected.txt: rebaseline
  • platform/ios/fast/text/international/bidi-override-expected.txt: see FIXME
  • platform/ios/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt: see FIXME
  • platform/mac/fast/dom/52776-expected.txt:
  • platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
3:41 PM Changeset in webkit [286106] by Wenson Hsieh
  • 4 edits
    3 adds in trunk/Tools

Add an API test for batch image analysis (-[WKWebView _startImageAnalysis:])
https://bugs.webkit.org/show_bug.cgi?id=233331

Reviewed by Sam Weinig.

Add a new API teset to exercise the -_startImageAnalysis: SPI introduced in r285949, along with helper
functions to simulate VKImageAnalysis results from VisionKitCore. See below for more details.

  • TestWebKitAPI/SourcesCocoa.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(-[TestWKWebView waitForImageAnalysisRequests:]):
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
(TestWebKitAPI::swizzledProcessRequestWithResults):
(TestWebKitAPI::swizzledProcessRequestWithError):
(TestWebKitAPI::TEST):
(TestWebKitAPI::swizzledProcessRequest): Deleted.

Add an API test that uses -_startImageAnalysis: to perform batch image analysis over 5 image elements on the
page, and verify that the text results are injected back into the page.

  • TestWebKitAPI/Tests/WebKitCocoa/multiple-images.html: Added.
  • TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h: Added.
  • TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm: Added.

(-[TestVKQuad initWithTopLeft:topRight:bottomLeft:bottomRight:]):
(-[TestVKWKTextInfo initWithString:quad:]):
(-[TestVKWKTextInfo string]):
(-[TestVKWKTextInfo quad]):
(-[TestVKWKLineInfo initWithString:quad:children:]):
(-[TestVKWKLineInfo children]):
(-[TestVKImageAnalysis initWithLines:]):
(-[TestVKImageAnalysis allLines]):
(TestWebKitAPI::createQuad):
(TestWebKitAPI::createTextInfo):
(TestWebKitAPI::createLineInfo):
(TestWebKitAPI::createImageAnalysis):
(TestWebKitAPI::createImageAnalysisWithSimpleFixedResults):

Add helper functions to create and return mock objects that represent VKImageAnalysis, VKWKLineInfo,
VKWKTextInfo and VKQuad.

1:28 PM Changeset in webkit [286105] by Jean-Yves Avenard
  • 3 edits in trunk/Source/WebCore

Remove unused HTMLModelElement::modelData() method.
https://bugs.webkit.org/show_bug.cgi?id=233406
rdar://85640503

Reviewed by Sam Weinig.

No change in observable behaviour.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::notifyFinished):

  • Modules/model-element/HTMLModelElement.h:
12:43 PM Changeset in webkit [286104] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Add support for caching bidi InlineTextItem widths
https://bugs.webkit.org/show_bug.cgi?id=233402

Reviewed by Antti Koivisto.

Let's do a "text content measure" pass when the inline item boundaries are finalized (including bidi split).

  • layout/formattingContexts/inline/InlineItem.h:

(WebCore::Layout::InlineItem::setWidth):

  • layout/formattingContexts/inline/InlineItemsBuilder.cpp:

(WebCore::Layout::InlineItemsBuilder::build):
(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):

  • layout/formattingContexts/inline/InlineItemsBuilder.h:
12:10 PM Changeset in webkit [286103] by Fujii Hironori
  • 3 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo-wk1/TestExpectations:
  • platform/wincairo/TestExpectations:
10:35 AM Changeset in webkit [286102] by Andres Gonzalez
  • 3 edits in trunk/Tools

Dispatch all AccessibilityUIElement parameterized attribute requests to the AX thread for isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=233377
<rdar://problem/85613334>

Reviewed by Chris Fleizach.

To simulate AT client requests in isolated tree mode, all parameterized
attribute requests should be dispatched to the AX thread.
This patch adds AccessibilityUIElement::attributeValueForParameter that
does the appropriate dispatch to the AX thread.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::attributeValue):
(WTR::AccessibilityUIElement::attributeValue const):
(WTR::AccessibilityUIElement::attributeValueForParameter const):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
(WTR::AccessibilityUIElement::searchTextWithCriteria):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::lineIndexForTextMarker const):
(WTR::AccessibilityUIElement::misspellingTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::textMarkerRangeForRange):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker):
(WTR::_convertMathMultiscriptPairsToString):

10:33 AM Changeset in webkit [286101] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Cache measured width even if canUseSimplifiedTextMeasuring is false
https://bugs.webkit.org/show_bug.cgi?id=233404

Reviewed by Antti Koivisto.

Just because some content goes through the non-simplified text measuring codepath, it does not
necessary mean we can't cache the measured value on the inline item (actually, we can cache these values just fine in most cases).

This is in preparation for being able to cache bidi content measured widths.

  • layout/formattingContexts/inline/InlineItemsBuilder.cpp:

(WebCore::Layout::canCacheMeasuredWidthOnInlineTextItem):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):

10:22 AM Changeset in webkit [286100] by Ziran Sun
  • 4 edits in trunk

[css-grid] svg image as grid items should use the overriding logical width/height when defined to compute the logical height/width
https://bugs.webkit.org/show_bug.cgi?id=228105

Reviewed by Javier Fernandez.

Source/WebCore:

This is a reland of r280290. It's got reverted because another patch r280078 caused crash and had been
reverted. r280290 is a dependent patch for r280078.

As discussed at https://github.com/w3c/csswg-drafts/issues/6286#issuecomment-866986544, degenerate
aspect ratios derived from SVG width/height attributes fall back to viewbox aspect ratio
(whether due to negative values or zero values).

When computing the logical height/width using an intrinsic aspect ratio, RenderReplaced uses the
overridingLogicalWidth/overridingLogicalHeight whenever defined as long as the flex or
grid item has an intrinsic size. For an SVG graphic though, it's common to have an intrinsic aspect
ratio but not to have an intrinsic width or height. For this special case, we still should use
overridingLogicalWidth/overridingLogicalHeight for logical height/width calculations.

  • rendering/RenderReplaced.cpp:

(WebCore::hasIntrinsicSize):
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
(WebCore::RenderReplaced::computeReplacedLogicalHeight const):

LayoutTests:

8:51 AM Changeset in webkit [286099] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Introduce canCacheMeasuredWidthOnInlineTextItem
https://bugs.webkit.org/show_bug.cgi?id=233399

Reviewed by Antti Koivisto.

This patch is in preparation for decoupling simplified text measuring and measured width caching.
(Caching should solely be position and (maybe) context dependent.)

  • layout/formattingContexts/inline/InlineItemsBuilder.cpp:

(WebCore::Layout::canCacheMeasuredWidthOnInlineTextItem const):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):

  • layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::canUseSimplifiedTextMeasuringForFirstLine): Deleted.

  • layout/formattingContexts/inline/text/TextUtil.h:
  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::BoxTree::buildTree): whitespace is not part of the first-line style set.

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:
Note: See TracTimeline for information about the timeline view.