Commits
main
Name already in use
Commits on Sep 21, 2023
-
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
-
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
-
[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
-
[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
-
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
-
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
-
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
-
[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
-
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
-
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
-
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
-
[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
-
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
-
[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
-
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
-
[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
-
[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
-
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
Commits on Sep 20, 2023
-
[ 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
-
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
-
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
-
[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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
[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
-
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
-
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
-
[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
-
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
-
[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