Skip to content

Commits

Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Sep 21, 2023

  1. Give ability for IPC calls to work with NativePromise

    https://bugs.webkit.org/show_bug.cgi?id=261720
    rdar://115704438
    
    Reviewed by Kimmo Kinnunen.
    
    Add the ability to send an asynchronous IPC message where the response
    will be returned in the form of a NativePromise.
    The NativePromise will be rejected with the IPC error if an error occurs.
    Otherwise, the value returned is the value of the IPC response. Unlike the
    CompletionHandler version sendWithAsyncReply, the returned value is only
    wrapped in a std::tuple if more than 1 element is returned.
    
    The Promise is defined for each asynchronous message generated like so:
    ```
    class WaitForTarget {
    public:
        using Arguments = std::tuple<WebCore::SeekTarget>;
    
        static IPC::MessageName name() { return IPC::MessageName::MediaSourcePrivateRemote_WaitForTarget; }
        static constexpr bool isSync = false;
        static constexpr bool canDispatchOutOfOrder = false;
        static constexpr bool replyCanDispatchOutOfOrder = false;
    
        static IPC::MessageName asyncMessageReplyName() { return IPC::MessageName::MediaSourcePrivateRemote_WaitForTargetReply; }
        static constexpr auto callbackThread = WTF::CompletionHandlerCallThread::ConstructionThread;
        using ReplyArguments = std::tuple<MediaTime>;
        using Promise = WTF::NativePromise<MediaTime, IPC::Error, true>;
        explicit WaitForTarget(const WebCore::SeekTarget& target)
            : m_arguments(target)
        {
        }
    
        auto&& arguments()
        {
            return WTFMove(m_arguments);
        }
    
    private:
        std::tuple<const WebCore::SeekTarget&> m_arguments;
    };
    ```
    
    We need to introduce the concept of NativePromise::runSynchronouslyOnTarget
    in order to ensure that processing of asynchronous results is kept in order
    when mixing with the sendWithAsyncReply/CompletionHandler API.
    Consider the following:
    ```
        m_connectionToWebProcess->connection().sendWithPromisedReply(Messages::Message1, m_identifier)
        ->whenSettled(RunLoop::main(), __func__, WTFMove(completionHandler1));
        m_connectionToWebProcess->connection().sendWithAsyncReply(Messages::Message1, WTFMove(completionHandler2), m_identifier);
    ```
    
    In this example, it is expected that completionHandler1 is run before
    completionHandler2 (in the same order the IPC results were received)
    By default a NativePromise will always dispatch a task to run the resolve/reject
    callback, and so in the example above completionHandler1 would be run after
    completionHandler2 as sendWithAsyncReply immediately calls the completionHandler.
    
    By setting the NativePromise::Producer in RunSynchronouslyOnTarget mode,
    it will immediately run the callback if already on the target thread.
    Preserving the order of operations.
    For the time being, RunSynchronouslyOnTarget is a response only to the
    problem described above.
    In the future we could imagine that it is up to the NativePromise consumer
    to decide how the callbacks is to be run. But this is another problem for
    another day.
    
    API tests added for both IPC and NativePromise.
    
    * Source/WTF/wtf/NativePromise.h:
    * Source/WebKit/Platform/IPC/Connection.h:
    (IPC::Connection::sendWithPromisedReply):
    (IPC::Connection::makeAsyncReplyHandler):
    * Source/WebKit/Scripts/webkit/messages.py:
    (message_to_struct_declaration):
    (forward_declarations_and_headers):
    * Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithEnabledIfMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandleMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h:
    * Source/WebKit/Scripts/webkit/tests/TestWithoutUsingIPCConnectionMessages.h:
    * Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:
    (TestWebKitAPI::TEST_P):
    * Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h:
    * Tools/TestWebKitAPI/Tests/IPC/MessageSenderTests.cpp:
    (TestWebKitAPI::TEST_P):
    * Tools/TestWebKitAPI/Tests/WTF/NativePromise.cpp:
    (TestWebKitAPI::TEST):
    
    Canonical link: https://commits.webkit.org/268240@main
    jyavenard committed Sep 21, 2023
    Copy the full SHA
    f997a9e View commit details
    Browse the repository at this point in the history
  2. AX: AccessibilityObject::listMarkerTextForNodeAndPosition forces reso…

    …lution of Position to VisiblePosition even when it's not used
    
    https://bugs.webkit.org/show_bug.cgi?id=261838
    rdar://problem/115801743
    
    Reviewed by Chris Fleizach.
    
    Converting a Position into a VisiblePosition can be very expensive, and listMarkerTextForNodeAndPosition
    was doing this when it was often not needed (because the given node is not a descendant of a list item).
    
    With this patch, we only do this work when in a list item.
    
    This saves ~10.1k samples of 84832 total main-thread samples in a popular web email client.
    
    * Source/WebCore/accessibility/AccessibilityObject.cpp:
    (WebCore::listMarkerText):
    (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
    * Source/WebCore/accessibility/AccessibilityObject.h:
    
    Canonical link: https://commits.webkit.org/268239@main
    twilco committed Sep 21, 2023
    Copy the full SHA
    42da7d7 View commit details
    Browse the repository at this point in the history
  3. [WGSL] Add support for pointer types

    https://bugs.webkit.org/show_bug.cgi?id=261831
    <rdar://problem/115794611>
    
    Reviewed by Dan Glastonbury.
    
    Add support for pointer types in the type system, which allows explicitly writing
    types of the form `ptr<AddressSpace, T, AccessMode>`.
    
    * Source/WebGPU/WGSL/ConstantRewriter.cpp:
    (WGSL::ConstantRewriter::materialize):
    * Source/WebGPU/WGSL/Constraints.cpp:
    (WGSL::satisfies):
    (WGSL::satisfyOrPromote):
    (WGSL::concretize):
    * Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
    (WGSL::bindingMemberForGlobal):
    (WGSL::RewriteGlobalVariables::usesOverride):
    * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
    (WGSL::Metal::FunctionDefinitionWriter::emitPackedVector):
    (WGSL::Metal::FunctionDefinitionWriter::visit):
    * Source/WebGPU/WGSL/TypeCheck.cpp:
    (WGSL::TypeChecker::TypeChecker):
    (WGSL::TypeChecker::allocateTextureStorageConstructor):
    (WGSL::TypeChecker::texelFormat):
    (WGSL::TypeChecker::accessMode):
    (WGSL::TypeChecker::addressSpace):
    * Source/WebGPU/WGSL/TypeStore.cpp:
    (WGSL::PointerKey::encode const):
    (WGSL::TypeStore::TypeStore):
    (WGSL::TypeStore::pointerType):
    * Source/WebGPU/WGSL/TypeStore.h:
    (WGSL::TypeStore::addressSpaceType const):
    * Source/WebGPU/WGSL/Types.cpp:
    (WGSL::Type::dump const):
    (WGSL::Type::size const):
    (WGSL::Type::alignment const):
    * Source/WebGPU/WGSL/Types.h:
    * Source/WebGPU/WGSL/tests/invalid/pointers.wgsl: Added.
    * Source/WebGPU/WGSL/tests/valid/pointers.wgsl: Added.
    
    Canonical link: https://commits.webkit.org/268238@main
    tadeuzagallo committed Sep 21, 2023
    Copy the full SHA
    ca2ac12 View commit details
    Browse the repository at this point in the history
  4. [WGSL] call to 'max' is ambiguous as decimal is not added to floating…

    … point number
    
    https://bugs.webkit.org/show_bug.cgi?id=261854
    <radar://115813155>
    
    Reviewed by Tadeu Zagallo.
    
    Make sure doubles contain a decimal point. Otherwise we will end up with
    compiler errors due to ambiguous function overloads like max(d, 0) where
    d is a double.
    
    * Source/WTF/wtf/dtoa.cpp:
    (WTF::numberToString):
    (WTF::numberToStringWithTrailingPoint):
    * Source/WTF/wtf/dtoa.h:
    * Source/WTF/wtf/dtoa/double-conversion.cc:
    * Source/WTF/wtf/dtoa/double-conversion.h:
    * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
    (WGSL::Metal::FunctionDefinitionWriter::visit):
    
    * Tools/TestWebKitAPI/Tests/WGSL/MetalGenerationTests.cpp:
    (TestWGSLAPI::TEST):
    Update test expectation
    
    Canonical link: https://commits.webkit.org/268237@main
    mwyrzykowski committed Sep 21, 2023
    Copy the full SHA
    e0a4e0e View commit details
    Browse the repository at this point in the history
  5. Have AsyncAudioDecoder use NativePromise

    https://bugs.webkit.org/show_bug.cgi?id=261601
    rdar://115549443
    
    Reviewed by Youenn Fablet.
    
    The purpose of this change is mostly to show how some threading work can
    be greatly simplified with the new NativePromise object.
    
    No change in observable behaviour.
    
    * Source/WebCore/Modules/webaudio/AsyncAudioDecoder.cpp:
    (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
    (WebCore::AsyncAudioDecoder::decodeAsync):
    (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder): Deleted.
    (WebCore::AsyncAudioDecoder::runLoop): Deleted.
    (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask): Deleted.
    (WebCore::AsyncAudioDecoder::DecodingTask::decode): Deleted.
    (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete): Deleted.
    * Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h:
    * Source/WebCore/Modules/webaudio/BaseAudioContext.cpp:
    (WebCore::BaseAudioContext::decodeAudioData):
    
    Canonical link: https://commits.webkit.org/268236@main
    jyavenard committed Sep 21, 2023
    Copy the full SHA
    4667cdc View commit details
    Browse the repository at this point in the history
  6. Stop using the UIApp static variable to access the shared UIApplica…

    …tion
    
    https://bugs.webkit.org/show_bug.cgi?id=261861
    
    Reviewed by Richard Robinson.
    
    Replace uses of `UIApp` with the equivalent `+[UIApplication sharedApplication]`. Also, remove a
    staging declaration for the `-[UIView focusEffect]` property that's no longer necessary.
    
    * Source/WebKit/Platform/spi/ios/UIKitSPI.h:
    * Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
    (WebKit::NavigationState::didChangeIsLoading):
    * Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
    (-[WKActionSheetAssistant showImageSheet]):
    * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
    (-[WKContentView actionSheetAssistant:showCustomSheetForElement:]):
    * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
    (WebKit::WebPageProxy::applicationDidEnterBackground):
    (WebKit::WebPageProxy::applicationWillEnterForeground):
    (WebKit::WebPageProxy::applicationDidEnterBackgroundForMedia):
    (WebKit::WebPageProxy::applicationWillEnterForegroundForMedia):
    * Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
    (-[WKFullScreenViewController viewWillTransitionToSize:withTransitionCoordinator:]):
    * Tools/DumpRenderTree/mac/DumpRenderTree.mm:
    (createWebViewAndOffscreenWindow):
    (runTest):
    
    Canonical link: https://commits.webkit.org/268235@main
    whsieh committed Sep 21, 2023
    Copy the full SHA
    fceec34 View commit details
    Browse the repository at this point in the history
  7. ImageBuffer has inconsistent drawing virtual functions

    https://bugs.webkit.org/show_bug.cgi?id=261735
    rdar://115721568
    
    Reviewed by Matt Woodrow.
    
    virtual ImageBuffer::drawPattern() invoked GraphicsContext logic,
    and was never overwritten.
    virtual ImageBuffer::drawConsuming() invoked GraphicsContext logic,
    was overwritten by RemoteImageBufferProxy with the assumption that
    the destination was remote GraphicsContext.
    
    The polymorphism is at GraphicsContext level. Let the functions
    be at that level:
    - drawPattern already is
    - Add virtual GraphicsContext::drawConsumingImageBufer and the real
      base implementation and Recorder::drawConsumingImageBuffer
      override.
    
    Similar issue with ImageBuffer::draw is handled in another patch.
    
    This is work towards making the NativeImage the only image primitive
    being drawn from, where as currently also ImageBuffer is a
    pseudo-primitive.
    
    * Source/WebCore/platform/graphics/GraphicsContext.cpp:
    (WebCore::GraphicsContext::drawConsumingImageBuffer):
    (WebCore::GraphicsContext::drawPattern):
    * Source/WebCore/platform/graphics/GraphicsContext.h:
    (WebCore::GraphicsContext::drawConsumingImageBuffer):
    * Source/WebCore/platform/graphics/ImageBuffer.cpp:
    (WebCore::copyImageBuffer):
    (WebCore::ImageBuffer::drawPattern): Deleted.
    (WebCore::ImageBuffer::drawConsuming): Deleted.
    * Source/WebCore/platform/graphics/ImageBuffer.h:
    (WebCore::ImageBuffer::drawConsuming): Deleted.
    * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
    (WebCore::DisplayList::Recorder::drawConsumingImageBuffer):
    * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
    * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
    (WebKit::RemoteImageBufferProxy::drawConsuming): Deleted.
    * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
    
    Canonical link: https://commits.webkit.org/268234@main
    kkinnunen-apple committed Sep 21, 2023
    Copy the full SHA
    c4193e7 View commit details
    Browse the repository at this point in the history
  8. [Filters] Don't override the alpha channel of the GraphicsDropShadow …

    …color by the shadow opacity
    
    https://bugs.webkit.org/show_bug.cgi?id=261841
    rdar://115812347
    
    Reviewed by Cameron McCormack.
    
    The shadow opacity should be applied to GraphicsContext before setting the drop
    shadow style. The color of the drop shadow should preserve its alpha channel.
    
    * Source/WebCore/platform/graphics/GraphicsStyle.cpp:
    (WebCore::operator<<):
    * Source/WebCore/platform/graphics/GraphicsStyle.h:
    (WebCore::GraphicsDropShadow::encode const):
    (WebCore::GraphicsDropShadow::decode):
    * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:
    (WebCore::GraphicsContextCG::setCGShadow):
    * Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
    (WebCore::DrawGlyphsRecorder::updateShadow):
    * Source/WebCore/platform/graphics/filters/FEDropShadow.cpp:
    (WebCore::FEDropShadow::createGraphicsStyle const):
    * Source/WebCore/rendering/TextPainter.cpp:
    
    Canonical link: https://commits.webkit.org/268233@main
    shallawa authored and Said Abou-Hallawa committed Sep 21, 2023
    Copy the full SHA
    db985ec View commit details
    Browse the repository at this point in the history
  9. Simplify GPUExternalTexture WebCodecsVideoFrame implementation

    https://bugs.webkit.org/show_bug.cgi?id=257724
    <radar://110274148>
    
    Reviewed by Kimmo Kinnunen.
    
    Address feedback from #14055
    
    Specifically in this patch we no longer pass the identifier + version manually
    from the WebProcess to GPUProcess, instead SharedFrameVideoReader/Writer are used instead.
    
    Also some stylistic feedback addressed.
    
    Testing covered by GPUExternalTexture CTS tests.
    
    * Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h:
    (WebCore::GPUExternalTextureDescriptor::mediaIdentifierForSource):
    (WebCore::GPUExternalTextureDescriptor::convertToBacking const):
    
    * Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUExternalTextureDescriptor.h:
    * Source/WebCore/platform/VideoFrame.h:
    (WebCore::VideoFrame::pixelBuffer const):
    (WebCore::VideoFrame::resourceIdentifier const): Deleted.
    
    * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp:
    (WebKit::RemoteDevice::importExternalTextureFromVideoFrame):
    (WebKit::RemoteDevice::importExternalTexture): Deleted.
    (WebKit::RemoteDevice::importExternalTextureFromPixelBuffer): Deleted.
    
    * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h:
    * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in:
    * Source/WebKit/Scripts/webkit/messages.py:
    (types_that_must_be_moved):
    (headers_for_type):
    
    * Source/WebKit/Shared/WebGPU/WebGPUExternalTextureDescriptor.h:
    * Source/WebKit/Shared/WebGPU/WebGPUExternalTextureDescriptor.serialization.in:
    * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:
    (WebKit::WebGPU::RemoteDeviceProxy::importExternalTexture):
    
    * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
    * Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.cpp:
    (WebKit::RemoteVideoFrameProxy::pixelBuffer const):
    (WebKit::RemoteVideoFrameProxy::resourceIdentifier const): Deleted.
    
     Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxy.h:
    * Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
    (WebKit::MediaRecorderPrivate::videoFrameAvailable):
    
    Canonical link: https://commits.webkit.org/268232@main
    mwyrzykowski committed Sep 21, 2023
    Copy the full SHA
    f9d7fea View commit details
    Browse the repository at this point in the history
  10. WebCoreTestSupport.h should put export macros to the left of function…

    … declarations
    
    https://bugs.webkit.org/show_bug.cgi?id=261851
    <rdar://115810109>
    
    Reviewed by Alex Christensen.
    
    * Source/WebCore/testing/js/WebCoreTestSupport.h:
    - Move TEST_SUPPORT_EXPORT to the beginning of every function
      declaration.
    
    Canonical link: https://commits.webkit.org/268231@main
    David Kilzer authored and ddkilzer committed Sep 21, 2023
    Copy the full SHA
    3734d25 View commit details
    Browse the repository at this point in the history
  11. Revert [268205@main] AutoInstaller should name directory based on ABI

    https://bugs.webkit.org/show_bug.cgi?id=224669
    
    Unreviewed revert.
    
    Broke contributors local tools.
    
    * Tools/Scripts/libraries/reporelaypy/reporelaypy/webserver.py:
    * Tools/Scripts/libraries/resultsdbpy/container:
    * Tools/Scripts/libraries/resultsdbpy/run:
    * Tools/Scripts/libraries/resultsdbpy/run-tests:
    * Tools/Scripts/libraries/webkitbugspy/run-tests:
    * Tools/Scripts/libraries/webkitcorepy/run-tests:
    * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
    (AutoInstall.set_directory):
    (AutoInstall._platform_compatibility_tag): Deleted.
    * Tools/Scripts/libraries/webkitscmpy/run-tests:
    * Tools/Scripts/webkitpy/__init__.py:
    
    Canonical link: https://commits.webkit.org/268230@main
    JonWBedard committed Sep 21, 2023
    Copy the full SHA
    01641ad View commit details
    Browse the repository at this point in the history
  12. [IFC][Ruby] Position annotation box (under/over)

    https://bugs.webkit.org/show_bug.cgi?id=261795
    
    Reviewed by Antti Koivisto.
    
    * Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
    (WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
    (WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
    (WebCore::Layout::InlineDisplayContentBuilder::appendAssociatedRubyAnnotationBoxIfNeeded):
    * Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
    * Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.cpp:
    (WebCore::Layout::RubyFormattingContext::annotationPosition):
    * Source/WebCore/layout/formattingContexts/inline/ruby/RubyFormattingContext.h:
    
    Canonical link: https://commits.webkit.org/268229@main
    alanbaradlay committed Sep 21, 2023
    Copy the full SHA
    201175a View commit details
    Browse the repository at this point in the history
  13. Improve launch time of WebKit processes

    https://bugs.webkit.org/show_bug.cgi?id=260198
    rdar://113901020
    
    Reviewed by Brent Fulgham.
    
    Experiments show that it is signficantly faster to launch WebKit processes as extensions with ExtensionKit.
    This patch is working towards this by creating empty executables for these extensions and starting
    adopting ExtensionKit (https://developer.apple.com/documentation/extensionkit) as the long-term architecture
    for WebKit auxiliary processes as a lighter-weight mechanism for launching and handling processes.
    
    This patch is written by Alex Christensen and Per Arne Vollan.
    
    * Configurations/CommonBase.xcconfig:
    * Source/WebKit/Configurations/BaseExtension.xcconfig: Added.
    * Source/WebKit/Configurations/BaseTarget.xcconfig:
    * Source/WebKit/Configurations/GPUExtension.xcconfig: Added.
    * Source/WebKit/Configurations/NetworkingExtension.xcconfig: Added.
    * Source/WebKit/Configurations/WebContentCaptivePortalExtension.xcconfig: Added.
    * Source/WebKit/Configurations/WebContentCrashyExtension.xcconfig: Added.
    * Source/WebKit/Configurations/WebContentExtension.xcconfig: Added.
    * Source/WebKit/Shared/API/Cocoa/WKMain.h:
    * Source/WebKit/Shared/API/Cocoa/WKMain.mm:
    (WKExtensionMain):
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.entitlements: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm: Added.
    (extensionMain):
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUExtension-Info.plist: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/NetworkingExtension-Info.plist: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-CaptivePortal-Info.plist: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Crashy-Info.plist: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Info.plist: Added.
    * Source/WebKit/Shared/AuxiliaryProcessExtensions/com.apple.WebKit.appexpt: Added.
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    
    Canonical link: https://commits.webkit.org/268228@main
    pvollan committed Sep 21, 2023
    Copy the full SHA
    c61ab1f View commit details
    Browse the repository at this point in the history
  14. [margin-trim] Remove margin-trim behavior for floats

    https://bugs.webkit.org/show_bug.cgi?id=261830
    rdar://115794102
    
    Reviewed by Alan Baradlay.
    
    There was a CSSWG resolution that removes the behavior of margin-trim
    from floats by default. The rest of the spec will stay the same and
    margin-trim for floats will be explored in the future in the working
    group. Since the spec will no longer specify that this behavior should
    occur we will remove the code related to it.
    
    Revert "Implement margin-trim for floats in block containers that contain only block boxes."
    This reverts commit f679766.
    
    Revert "Trim margins for overconstraining floats that are adjacent to the containing block inner without clear and other intrusive floats"
    This reverts commit bad6e12.
    
    Revert "Floats' trimmed margins should not contribute to containing block's intrinsic sizing (legacy line layout)"
    This reverts commit 35416b6.
    
    * LayoutTests/TestExpectations:
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-orthogonal-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-orthogonal.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-rtl-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-rtl.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-float-drives-container-intrinsic-size-inline-layout-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-float-drives-container-intrinsic-size-inline-layout.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-vert-lr-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-vert-lr.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-nested-inside-nested-inline-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-float-nested-inside-nested-inline.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-floats-adjacent-to-containing-block-should-be-trimmed-only-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-floats-adjacent-to-containing-block-should-be-trimmed-only.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-intersecting-other-float-to-fit-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-intersecting-other-float-to-fit.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-rtl-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-rtl.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-vert-lr-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-vert-lr.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-orthogonal-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-orthogonal-float-overconstraining-line-box-to-fit.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-intersecting-other-float-to-fit-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-intersecting-other-float-to-fit.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-rtl-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-rtl.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-vert-lr-expected.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-vert-lr.html: Removed.
    * LayoutTests/fast/inline/legacy-margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-deeply-nested-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-deeply-nested.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-different-containers-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-different-containers-vert-lr-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-different-containers-vert-lr.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-different-containers.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-same-container-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-end-up-to-content-block-layout-same-container.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-relative-positioned-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-relative-positioned.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-with-transforms-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-block-start-with-transforms.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-fit-content-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-fit-content-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-end-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-end-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-orthogonal-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-orthogonal.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-rtl-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size-rtl.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-start-trim-float-drives-container-intrinsic-size.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-float-drives-container-intrinsic-size-inline-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-float-drives-container-intrinsic-size-inline-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-vert-lr-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout-vert-lr.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-inline-trim-text-drives-container-intrinsic-size-inline-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-left-trimmed-margin-allows-float-to-fit-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-left-trimmed-margin-allows-float-to-fit-block-layout-vert-lr-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-left-trimmed-margin-allows-float-to-fit-block-layout-vert-lr.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-left-trimmed-margin-allows-float-to-fit-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-min-content-with-block-content-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-min-content-with-block-content-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-nested-inside-nested-inline-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-nested-inside-nested-inline.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-right-trimmed-margin-allows-float-to-fit-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-float-right-trimmed-margin-allows-float-to-fit-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-floats-adjacent-to-containing-block-should-be-trimmed-only-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-floats-adjacent-to-containing-block-should-be-trimmed-only.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-overflowing-float-margins-tirmmed-at-final-position-block-layout-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-overflowing-float-margins-tirmmed-at-final-position-block-layout.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-intersecting-other-float-to-fit-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-intersecting-other-float-to-fit.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-rtl-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-rtl.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-vert-lr-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit-vert-lr.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-left-positioned-float-overconstraining-line-box-to-fit.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-orthogonal-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-orthogonal-float-overconstraining-line-box-to-fit.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-intersecting-other-float-to-fit-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-intersecting-other-float-to-fit.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-rtl-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-rtl.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-vert-lr-expected.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit-vert-lr.html: Removed.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-box/margin-trim/block-container-trimmed-margin-allows-right-positioned-float-overconstraining-line-box-to-fit.html: Removed.
    * Source/WebCore/rendering/FloatingObjects.cpp:
    (WebCore::FloatingObject::isLowestPlacedFloatBottomInBlockFormattingContext const): Deleted.
    * Source/WebCore/rendering/FloatingObjects.h:
    (WebCore::FloatingObject::setHeight):
    * Source/WebCore/rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
    * Source/WebCore/rendering/RenderBlock.h:
    (WebCore::RenderBlock::logicalLeftForChild const):
    (WebCore::RenderBlock::logicalMarginBoxTopForChild const): Deleted.
    * Source/WebCore/rendering/RenderBlockFlow.cpp:
    (WebCore::RenderBlockFlow::layoutBlock):
    (WebCore::RenderBlockFlow::insertFloatingObject):
    (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
    (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
    (WebCore::RenderBlockFlow::trimFloatBlockEndMargins): Deleted.
    (WebCore::RenderBlockFlow::shouldChildInlineMarginContributeToContainerIntrinsicSize const): Deleted.
    (WebCore::RenderBlockFlow::trimMarginForFloat): Deleted.
    (WebCore::RenderBlockFlow::blockFormattingContextInFlowBlockLevelContentHeight const): Deleted.
    * Source/WebCore/rendering/RenderBlockFlow.h:
    (WebCore::RenderBlockFlow::setLogicalMarginsForFloat):
    * Source/WebCore/rendering/RenderBox.cpp:
    (WebCore::RenderBox::establishesBlockFormattingContext const): Deleted.
    (WebCore::RenderBox::blockFormattingContextRoot const): Deleted.
    * Source/WebCore/rendering/RenderBox.h:
    * Source/WebCore/rendering/line/BreakingContext.h:
    (WebCore::BreakingContext::handleFloat):
    
    Canonical link: https://commits.webkit.org/268227@main
    sgill26 authored and Sammy Gill committed Sep 21, 2023
    Copy the full SHA
    5156868 View commit details
    Browse the repository at this point in the history
  15. Make http/tests/site-isolation/post-message.html not flaky

    https://bugs.webkit.org/show_bug.cgi?id=261853
    rdar://115812816
    
    Reviewed by Pascoe.
    
    It has been flaky since its introduction because of a race condition between
    the load event and the iframe sending the first message.  To resolve this,
    wait until the load event then send a message.  Also, test sending the message
    in both directions.
    
    * LayoutTests/http/tests/site-isolation/post-message-expected.txt:
    * LayoutTests/http/tests/site-isolation/post-message.html:
    * LayoutTests/http/tests/site-isolation/resources/post-message-to-parent.html:
    
    Canonical link: https://commits.webkit.org/268226@main
    achristensen07 committed Sep 21, 2023
    Copy the full SHA
    e41d88f View commit details
    Browse the repository at this point in the history
  16. [JHBuild] Add fallback JHBuild git url

    https://bugs.webkit.org/show_bug.cgi?id=261797
    
    Reviewed by Michael Catanzaro.
    
    Add GitHub's JHBuild repository URL as fallback, in case primary URL
    cannot be reached.
    
    Also, update JHBuild's revision.
    
    * Tools/jhbuild/jhbuild-wrapper:
    (clone_jhbuild):
    
    Canonical link: https://commits.webkit.org/268225@main
    dpino committed Sep 21, 2023
    Copy the full SHA
    928fbce View commit details
    Browse the repository at this point in the history
  17. [Gardening]: rdar://115757960 ([ Sonoma wk2 ] 13 hidpi tests are cons…

    …istent images failures)
    
    rdar://115757960
    
    Unreviewed test gardening.
    
    Add test expectations.
    
    * LayoutTests/platform/mac-wk2/TestExpectations:
    
    Canonical link: https://commits.webkit.org/268224@main
    karlrackler committed Sep 21, 2023
    Copy the full SHA
    e7de08b View commit details
    Browse the repository at this point in the history
  18. Enums in ApplyStyleCommand should be enum classes

    https://bugs.webkit.org/show_bug.cgi?id=261774
    rdar://problem/115751437
    
    Reviewed by Wenson Hsieh.
    
    ApplyStyleCommand defines three enumerations, namely EPropertyLevel,
    InlineStyleRemovalMode, and EAddStyledElement. This patch makes each of
    these enums an enum class, narrows down the underlying type, and renames
    the enum cases to address redundancy.
    
    We also choose to default initialize the m_propertyLevel attribute of the
    AppleStyleCommand class to PropertyLevel::Default through class member
    initialization (rather than through explicit mem-init in _some_
    constructor overloads). This is not a behavior change, but does make
    construction cleaner.
    
    * Source/WebCore/editing/ApplyStyleCommand.cpp:
    (WebCore::ApplyStyleCommand::ApplyStyleCommand):
    (WebCore::ApplyStyleCommand::doApply):
    (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
    (WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
    (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
    (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
    (WebCore::ApplyStyleCommand::removeCSSStyle):
    (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
    (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
    (WebCore::ApplyStyleCommand::removeInlineStyle):
    (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
    (WebCore::ApplyStyleCommand::applyInlineStyleChange):
    * Source/WebCore/editing/ApplyStyleCommand.h:
    (WebCore::ApplyStyleCommand::create):
    (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement):
    * Source/WebCore/editing/Editor.cpp:
    (WebCore::Editor::applyParagraphStyle):
    
    Canonical link: https://commits.webkit.org/268223@main
    aprotyas committed Sep 21, 2023
    Copy the full SHA
    c537ee9 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. [ Ventura+ wk1 ] editing/spelling/retro-correction-spelling-markers.h…

    …tml is a constant failure.
    
    https://bugs.webkit.org/show_bug.cgi?id=261495
    rdar://115411037
    
    Reviewed by Aditya Keerthi and Abrar Rahman Protyasha.
    
    Make this test more robust against underlying changes to spell checking on macOS, by ensuring
    consistent text checking results via `LayoutTestSpellChecker`.
    
    * LayoutTests/editing/spelling/retro-correction-spelling-markers.html:
    * LayoutTests/platform/mac-wk1/TestExpectations:
    * LayoutTests/resources/ui-helper.js:
    
    Ensure that this helper function doesn't trigger a crash on non-Cocoa ports by bailing gracefully in
    the case where we're neither macOS nor iOS.
    
    (window.UIHelper.async setSpellCheckerResults):
    * Tools/DumpRenderTree/TestRunner.cpp:
    (isMacCallback):
    (TestRunner::staticFunctions):
    
    Implement `TestRunner.isMac` so that the above check in `ui-helper.js` works as intended.
    
    Canonical link: https://commits.webkit.org/268222@main
    whsieh committed Sep 20, 2023
    Copy the full SHA
    d4d733c View commit details
    Browse the repository at this point in the history
  2. REVERT(268166@main): Implement the 'backdrop root' concept for backdr…

    …op-filter.
    
    rdar://115803479
    https://bugs.webkit.org/show_bug.cgi?id=261840
    
    Reviewed by Jonathan Bedard.
    
    4 API tests having constant issues (2 failures, 2 timeouts), and 43 layout tests consistently crashing. Reverting 268166@main.
    
    * LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt:
    * LayoutTests/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt:
    * LayoutTests/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt:
    * LayoutTests/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt:
    * LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt:
    * LayoutTests/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt:
    * LayoutTests/css3/filters/backdrop/resource-use-add-more-layers-expected.txt:
    * LayoutTests/css3/filters/backdrop/resource-use-excessive-expected.txt:
    * LayoutTests/css3/filters/backdrop/resource-use-ok-expected.txt:
    * LayoutTests/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt:
    * Source/JavaScriptCore/inspector/protocol/LayerTree.json:
    * Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp:
    (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
    * Source/WebCore/platform/graphics/GraphicsLayer.cpp:
    (WebCore::GraphicsLayer::GraphicsLayer):
    * Source/WebCore/platform/graphics/GraphicsLayer.h:
    (WebCore::GraphicsLayer::setIsBackdropRoot): Deleted.
    (WebCore::GraphicsLayer::isBackdropRoot const): Deleted.
    * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
    (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
    (WebCore::GraphicsLayerCA::ensureStructuralLayer):
    (WebCore::GraphicsLayerCA::layerChangeAsString):
    (WebCore::GraphicsLayerCA::changeLayerTypeTo):
    (WebCore::GraphicsLayerCA::setIsBackdropRoot): Deleted.
    (WebCore::GraphicsLayerCA::updateBackdropRoot): Deleted.
    * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
    * Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
    * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
    * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
    (WebCore::PlatformCALayerCocoa::setIsBackdropRoot): Deleted.
    * Source/WebCore/rendering/RenderLayer.cpp:
    (WebCore::RenderLayer::RenderLayer):
    (WebCore::RenderLayer::calculateClipRects const):
    (WebCore::RenderLayer::computeCanBeBackdropRoot const): Deleted.
    (WebCore::RenderLayer::setCanBeBackdropRoot): Deleted.
    * Source/WebCore/rendering/RenderLayer.h:
    (WebCore::RenderLayer::hasBackdropFilterDescendantsWithoutRoot const): Deleted.
    (WebCore::RenderLayer::setHasBackdropFilterDescendantsWithoutRoot): Deleted.
    (WebCore::RenderLayer::canBeBackdropRoot const): Deleted.
    (WebCore::RenderLayer::isBackdropRoot const): Deleted.
    * Source/WebCore/rendering/RenderLayerBacking.cpp:
    (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
    (WebCore::RenderLayerBacking::updateConfigurationAfterStyleChange):
    (WebCore::RenderLayerBacking::updateConfiguration):
    (WebCore::RenderLayerBacking::updateGeometry):
    (WebCore::RenderLayerBacking::updateBackdropRoot): Deleted.
    * Source/WebCore/rendering/RenderLayerBacking.h:
    * Source/WebCore/rendering/RenderLayerCompositor.cpp:
    (WebCore::RenderLayerCompositor::CompositingState::stateForPaintOrderChildren const):
    (WebCore::RenderLayerCompositor::CompositingState::updateWithDescendantStateAndLayer):
    (WebCore::RenderLayerCompositor::computeCompositingRequirements):
    (WebCore::RenderLayerCompositor::reasonsForCompositing const):
    (WebCore::compositingReasonToString):
    (WebCore::RenderLayerCompositor::computeIndirectCompositingReason const):
    * Source/WebCore/rendering/RenderLayerCompositor.h:
    * Source/WebCore/rendering/style/WillChangeData.cpp:
    (WebCore::WillChangeData::canBeBackdropRoot const): Deleted.
    * Source/WebCore/rendering/style/WillChangeData.h:
    (WebCore::WillChangeData::canCreateStackingContext const):
    * Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
    * Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
    (WI.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
    (WI.LayerTreeDetailsSidebarPanel):
    * Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h:
    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in:
    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
    (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
    * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h:
    * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm:
    (WebKit::PlatformCALayerRemote::setIsBackdropRoot): Deleted.
    
    Canonical link: https://commits.webkit.org/268221@main
    bls1999 committed Sep 20, 2023
    Copy the full SHA
    1a47526 View commit details
    Browse the repository at this point in the history
  3. Optionally return a StreamConnectionPair in StreamClientConnection::c…

    …reate
    
    https://bugs.webkit.org/show_bug.cgi?id=261782
    
    Reviewed by Kimmo Kinnunen.
    
    Change function signature of `StreamClientConnection::create` to return
    a `std::optional<StreamConnectionPair>`. Modify `StreamConnectionPair`
    to use a `Ref<StreamClientConnection>` since the value will never be
    `null`. Updated the call sites for `StreamClientConnection::create` to
    handle the changes.
    
    This is a step towards `SharedMemory::Handle` also always being valid.
    
    * Source/WebKit/Platform/IPC/StreamClientConnection.cpp:
    (IPC::StreamClientConnection::create):
    * Source/WebKit/Platform/IPC/StreamClientConnection.h:
    * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
    (WebKit::RemoteGraphicsContextGLProxy::create):
    * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
    (WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
    * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
    (WebKit::RemoteGPUProxy::create):
    * Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
    (WebKit::IPCTestingAPI::createError):
    (WebKit::IPCTestingAPI::JSIPC::createStreamClientConnection):
    * Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp:
    
    Canonical link: https://commits.webkit.org/268220@main
    donny-dont committed Sep 20, 2023
    Copy the full SHA
    fd3a4d2 View commit details
    Browse the repository at this point in the history
  4. [macOS] Add syscall telemetry in the WebContent process

    https://bugs.webkit.org/show_bug.cgi?id=261827
    rdar://115788718
    
    Reviewed by Brent Fulgham.
    
    Add syscall telemetry in the WebContent process on macOS to detect which syscalls are no longer used.
    
    * Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
    
    Canonical link: https://commits.webkit.org/268219@main
    pvollan committed Sep 20, 2023
    Copy the full SHA
    1d7dbd7 View commit details
    Browse the repository at this point in the history
  5. Fix environment variable name in PAL LoggingUnix log

    https://bugs.webkit.org/show_bug.cgi?id=261826
    
    Reviewed by Michael Catanzaro.
    
    PAL LoggingUnix log contains a warning log message about WEBCORE_DEBUG,
    but the final commit landed in 194507@main is using WEBKIT_DEBUG.
    
    * Source/WebCore/PAL/pal/unix/LoggingUnix.cpp:
    (PAL::logLevelString):
    
    Canonical link: https://commits.webkit.org/268218@main
    blino committed Sep 20, 2023
    Copy the full SHA
    cbcf8ac View commit details
    Browse the repository at this point in the history
  6. AX: Add AXCorObject.cpp and move methods implementation from Accessib…

    …ilityObjectInterface.h.
    
    https://bugs.webkit.org/show_bug.cgi?id=261742
    <rdar://problem/115725555>
    
    Reviewed by Tyler Wilcock.
    
    Needed a cpp file to contain the implementation of AXCoreObject methods. Moved to the new AXCoreObject.cpp those methods that were in the header file that are not actually inline methods. Renamed the AccessibilityObjectInterface.h header to AXCoreObject.h since that is the main declaration in that header.
    
    Canonical link: https://commits.webkit.org/268217@main
    AndresGonzalezApple committed Sep 20, 2023
    Copy the full SHA
    bcba489 View commit details
    Browse the repository at this point in the history
  7. Update WTF types serialization

    https://bugs.webkit.org/show_bug.cgi?id=261761
    rdar://115737067
    
    Reviewed by Brady Eidson.
    
    * Source/WebKit/Scripts/generate-serializers.py:
    (SerializedType.namespace_unless_wtf_and_name):
    * Source/WebKit/Shared/WTFArgumentCoders.serialization.in:
    * Source/WebKit/Shared/WebCoreArgumentCoders.h:
    
    Canonical link: https://commits.webkit.org/268216@main
    sheeparegreat authored and achristensen07 committed Sep 20, 2023
    Copy the full SHA
    32aa453 View commit details
    Browse the repository at this point in the history
  8. Use CheckedPtr more for Node types now that Node subclasses CanMakeCh…

    …eckedPtr
    
    https://bugs.webkit.org/show_bug.cgi?id=261796
    
    Reviewed by Darin Adler.
    
    Use CheckedPtr more for Node types now that Node subclasses CanMakeCheckedPtr.
    It is more efficient in the case where we don't need the pointer to get
    automatically nulled out.
    
    * Source/WebCore/accessibility/AccessibilityNodeObject.h:
    * Source/WebCore/animation/DeclarativeAnimation.cpp:
    (WebCore::DeclarativeAnimation::initialize):
    (WebCore::DeclarativeAnimation::shouldFireDOMEvents const):
    * Source/WebCore/animation/DeclarativeAnimation.h:
    * Source/WebCore/dom/Attr.cpp:
    (WebCore::Attr::attachToElement):
    * Source/WebCore/dom/Attr.h:
    * Source/WebCore/dom/Document.cpp:
    (WebCore::Document::registerArticleElement):
    (WebCore::Document::unregisterArticleElement):
    (WebCore::Document::updateMainArticleElementAfterLayout):
    * Source/WebCore/dom/Document.h:
    * Source/WebCore/dom/Element.cpp:
    (WebCore::elementIdentifiersMap):
    (WebCore::Element::~Element):
    (WebCore::Element::addShadowRoot):
    (WebCore::Element::identifier const):
    (WebCore::Element::fromIdentifier):
    * Source/WebCore/dom/Node.cpp:
    (WebCore::liveNodeSet):
    (WebCore::Node::dumpStatistics):
    (WebCore::Node::trackForDebugging):
    (WebCore::Node::~Node):
    * Source/WebCore/dom/ShadowRoot.cpp:
    * Source/WebCore/dom/ShadowRoot.h:
    * Source/WebCore/editing/TextManipulationController.cpp:
    (WebCore::TextManipulationController::removeNode):
    * Source/WebCore/editing/TextManipulationController.h:
    * Source/WebCore/page/scrolling/ScrollAnchoringController.h:
    * Source/WebCore/xml/XSLStyleSheet.h:
    
    Canonical link: https://commits.webkit.org/268215@main
    cdumez committed Sep 20, 2023
    Copy the full SHA
    bfdea7f View commit details
    Browse the repository at this point in the history
  9. Correct Open Source WebKit build when using Sonoma SDK

    https://bugs.webkit.org/show_bug.cgi?id=261832
    <rdar://problem/115795086>
    
    Unreviewed build fix.
    
    The changes in 258467@main defined a needed property for NSMutableURLRequest, but did not
    provide the related declaration for NSURLRequest. This causes a build failure when someone
    attempts to build trunk WebKit with the Open Source Sonoma SDK.
    
    * Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:
    
    Canonical link: https://commits.webkit.org/268214@main
    brentfulgham authored and Brent Fulgham committed Sep 20, 2023
    Copy the full SHA
    0d5ad83 View commit details
    Browse the repository at this point in the history
  10. Revert [268180@main] [Curl] Support multipart response

    https://bugs.webkit.org/show_bug.cgi?id=261104
    
    WinCairo is crashing. Unreviewed revert.
    
    * Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp:
    (WebCore::CurlMultipartHandle::createIfNeeded):
    (WebCore::CurlMultipartHandle::extractBoundary):
    (WebCore::CurlMultipartHandle::extractBoundaryFromContentType):
    (WebCore::CurlMultipartHandle::CurlMultipartHandle):
    (WebCore::CurlMultipartHandle::didReceiveData):
    (WebCore::CurlMultipartHandle::didComplete):
    (WebCore::CurlMultipartHandle::processContent):
    (WebCore::CurlMultipartHandle::checkForBoundary):
    (WebCore::CurlMultipartHandle::matchedLength):
    (WebCore::CurlMultipartHandle::parseHeadersIfPossible):
    (WebCore::extractBoundary): Deleted.
    (WebCore::CurlMultipartHandle::didReceiveMessage): Deleted.
    (WebCore::CurlMultipartHandle::completeHeaderProcessing): Deleted.
    (WebCore::CurlMultipartHandle::didCompleteMessage): Deleted.
    (WebCore::CurlMultipartHandle::findBoundary): Deleted.
    * Source/WebCore/platform/network/curl/CurlMultipartHandle.h:
    (WebCore::CurlMultipartHandle::completed): Deleted.
    (WebCore::CurlMultipartHandle::hasError const): Deleted.
    * Source/WebCore/platform/network/curl/CurlMultipartHandleClient.h:
    * Source/WebCore/platform/network/curl/CurlRequest.cpp:
    (WebCore::CurlRequest::CurlRequest):
    (WebCore::CurlRequest::didReceiveHeader):
    (WebCore::CurlRequest::didReceiveData):
    (WebCore::CurlRequest::didReceiveHeaderFromMultipart):
    (WebCore::CurlRequest::didReceiveDataFromMultipart):
    (WebCore::CurlRequest::didCompleteTransfer):
    (WebCore::CurlRequest::didCompleteFromMultipart): Deleted.
    * Source/WebCore/platform/network/curl/CurlRequest.h:
    (WebCore::CurlRequest::create):
    * Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:
    (WebKit::NetworkDataTaskCurl::createCurlRequest):
    * Tools/TestWebKitAPI/PlatformWin.cmake:
    * Tools/TestWebKitAPI/Tests/WebCore/curl/CurlMultipartHandleTests.cpp: Removed.
    
    Canonical link: https://commits.webkit.org/268213@main
    fujii committed Sep 20, 2023
    Copy the full SHA
    c12cd61 View commit details
    Browse the repository at this point in the history
  11. Remove unused and undefined function WebPage::updateVisibilityState

    https://bugs.webkit.org/show_bug.cgi?id=261828
    rdar://115793646
    
    Reviewed by Mike Wyrzykowski.
    
    WebPage::updateVisibilityState is declared but never defined. Remove it.
    
    * Source/WebKit/WebProcess/WebPage/WebPage.h:
    
    Canonical link: https://commits.webkit.org/268212@main
    rreno committed Sep 20, 2023
    Copy the full SHA
    a12acec View commit details
    Browse the repository at this point in the history
  12. [Wasm-GC] Remove toJSValue calls for struct operations

    https://bugs.webkit.org/show_bug.cgi?id=260910
    
    Reviewed by Justin Michaud.
    
    This patch adjusts the JSWebAssemblyStruct::set() method so that it
    takes an EncodedJSValue instead of a JSValue. This saves unnecessary
    conversions between representations and eliminates potential exception
    throws.
    
    In the future the original functionality may be helpful for expanded JS
    API capabilities.
    
    This patch also makes a minor adjustment to JSWebAssemblyArray::set() to
    match the struct version.
    
    * Source/JavaScriptCore/wasm/WasmOperations.cpp:
    (JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
    * Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
    (JSC::Wasm::arraySet):
    (JSC::Wasm::structNew):
    (JSC::Wasm::structSet):
    * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
    (JSC::LLInt::WASM_SLOW_PATH_DECL):
    * Source/JavaScriptCore/wasm/js/JSWebAssemblyArray.h:
    * Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp:
    (JSC::JSWebAssemblyStruct::set):
    * Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h:
    
    Canonical link: https://commits.webkit.org/268211@main
    takikawa committed Sep 20, 2023
    Copy the full SHA
    daaaece View commit details
    Browse the repository at this point in the history
  13. Add PDFPluginBase.* and fix the Unified Sources fallout

    https://bugs.webkit.org/show_bug.cgi?id=261788
    rdar://115756126
    
    Reviewed by Richard Robinson.
    
    Add empty PDFPluginBase.h/mm files, and deal with the unified sources fallout.
    
    * Source/WebKit/SourcesCocoa.txt:
    * Source/WebKit/WebKit.xcodeproj/project.pbxproj:
    * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h: Copied from Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp.
    * Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm: Copied from Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp.
    * Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp:
    * Source/WebKit/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
    * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
    * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
    * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
    (WebKit::RemoteScrollbarsController::shouldRegisterScrollbars const):
    * Source/WebKit/webpushd/MockPushServiceConnection.mm:
    * Source/WebKit/webpushd/PushService.mm:
    * Source/WebKit/webpushd/PushServiceConnection.mm:
    
    Canonical link: https://commits.webkit.org/268210@main
    smfr committed Sep 20, 2023
    Copy the full SHA
    8c72c91 View commit details
    Browse the repository at this point in the history
  14. Regression(268146@main) inspector/css/stylesheet-events-imports.html …

    …is flakily crashing
    
    https://bugs.webkit.org/show_bug.cgi?id=261824
    
    Reviewed by Simon Fraser.
    
    After 268146@main, CSSStyleSheet is holding a CheckedPtr to its owner node.
    It seemed fine since the owner node is expected to call clearOwnerNode() on
    the style sheet on disassociation.
    
    In the case of this crash, we can see that the owner node is a HTMLLinkElement.
    HTMLLinkElement was correctly calling clearOwnerNode() on destruction. However,
    it was failing to do so on the old stylesheet when replacing it in
    initializeStyleSheet().
    
    * Source/WebCore/html/HTMLLinkElement.cpp:
    (WebCore::HTMLLinkElement::initializeStyleSheet):
    
    Canonical link: https://commits.webkit.org/268209@main
    cdumez committed Sep 20, 2023
    Copy the full SHA
    c943ba3 View commit details
    Browse the repository at this point in the history
  15. [Media] Adopt WTF::flatMap in CDMInstanceFairPlayStreamingAVFObjC

    https://bugs.webkit.org/show_bug.cgi?id=261794
    rdar://115758431
    
    Reviewed by Richard Robinson.
    
    Replaced the nested for loops in CDMInstanceSessionFairPlayStreamingAVFObjC::contentKeyGroupDataSourceKeys
    with a combination of WTF::flatMap and WTF::compactMap. To support RetainPtr<AVContentKey> in compactMap,
    also specialized CompactMapTraits for RetainPtr and added tests.
    
    * Source/WTF/wtf/Vector.h:
    (WTF::CompactMapTraits<RetainPtr<T>>::hasValue):
    (WTF::CompactMapTraits<RetainPtr<T>>::extractValue):
    * Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
    (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::contentKeyGroupDataSourceKeys const):
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/WTF/cocoa/VectorCocoa.mm: Added.
    (TestWebKitAPI::mapString):
    (TestWebKitAPI::TEST):
    
    Canonical link: https://commits.webkit.org/268208@main
    aestes committed Sep 20, 2023
    Copy the full SHA
    e2e4240 View commit details
    Browse the repository at this point in the history
  16. Add HashMap::getOptional

    https://bugs.webkit.org/show_bug.cgi?id=261800
    rdar://problem/115764318
    
    Reviewed by Kimmo Kinnunen.
    
    Add a version of get() that returns std::optional for convenience.
    
    * Source/WTF/wtf/HashMap.h:
    (WTF::Y>::getOptional const):
    
    Note that this returns std::optional<MappedType> instead of std::optional<MappedPeakType>,
    making it safer to use with reference counting smart pointers. This mean it is not usable with
    maps containing std::unique_ptr and similar values but for those it would not add anything over
    plain get() anyway.
    
    * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
    (WebCore::LayoutIntegration::LineLayout::updateRenderTreePositions):
    
    Also use it in a few places.
    
    * Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp:
    (WebCore::LayoutIntegration::computeAdjustmentsForPagination):
    * Source/WebCore/style/RuleSet.cpp:
    (WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
    * Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp:
    (TestWebKitAPI::TEST):
    
    Canonical link: https://commits.webkit.org/268207@main
    anttijk committed Sep 20, 2023
    Copy the full SHA
    ec5bee2 View commit details
    Browse the repository at this point in the history
  17. [Gardening]: Ungarden imported/w3c/web-platform-tests/webcodecs/audio…

    …-encoder.https.any.html after fix in 268195@main
    
    rdar://115749541
    https://bugs.webkit.org/show_bug.cgi?id=261777
    
    Unreviewed test gardening.
    
    Ungardening following fix by @youennf in 268195@main.
    
    * LayoutTests/platform/wk2/TestExpectations:
    
    Canonical link: https://commits.webkit.org/268206@main
    bls1999 committed Sep 20, 2023
    Copy the full SHA
    244ef47 View commit details
    Browse the repository at this point in the history
Older