Open
Conversation
https://bugs.webkit.org/show_bug.cgi?id=280305 rdar://136631464 Reviewed by Chris Dumez and Ryosuke Niwa. Make sure ApplePay message endpoints are disabled when feature is disabled. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm: (WebKit::NetworkConnectionToWebProcess::sharedPreferencesForWebPaymentMessages const): * Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h: (WebKit::WebPaymentCoordinatorProxy::sharedPreferencesForWebProcess const): * Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in: * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::Internals::sharedPreferencesForWebPaymentMessages const): * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/UIProcess/WebPageProxyInternals.h: Canonical link: https://commits.webkit.org/284390@main
https://bugs.webkit.org/show_bug.cgi?id=280532 rdar://136846218 Reviewed by Alan Baradlay and Sam Weinig. It has been replaced by a calc() based implementation for anchor(). * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/css/CSSAnchorValue.cpp: Removed. * Source/WebCore/css/CSSAnchorValue.h: Removed. * Source/WebCore/css/CSSPrimitiveValue.cpp: (WebCore::isValidCSSUnitTypeForDoubleConversion): (WebCore::isStringType): (WebCore::CSSPrimitiveValue::~CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::unitTypeString): (WebCore::CSSPrimitiveValue::serializeInternal const): (WebCore::CSSPrimitiveValue::equals const): (WebCore::CSSPrimitiveValue::addDerivedHash const): (WebCore::CSSPrimitiveValue::collectComputedStyleDependencies const): * Source/WebCore/css/CSSPrimitiveValue.h: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/css/CSSUnits.cpp: (WebCore::unitCategory): (WebCore::operator<<): (WebCore::conversionToCanonicalUnitRequiresConversionData): * Source/WebCore/css/CSSUnits.h: * Source/WebCore/css/CSSValue.cpp: (WebCore::CSSValue::visitDerived): * Source/WebCore/css/CSSValue.h: (WebCore::CSSValue::isAnchorValue const): Deleted. * Source/WebCore/css/calc/CSSCalcTree+NumericIdentity.h: (WebCore::CSSCalc::toNumericIdentity): * Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp: (WebCore::CSSCalc::sortPriority): * Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp: (WebCore::CSSCalc::canonicalize): * Source/WebCore/css/calc/CSSCalcTree.cpp: (WebCore::CSSCalc::makeNumeric): * Source/WebCore/css/calc/CSSCalcType.cpp: (WebCore::CSSCalc::Type::determineType): * Source/WebCore/css/parser/CSSPropertyParserConsumer+Length.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Time.cpp: * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeAnchor): Deleted. * Source/WebCore/css/parser/CSSPropertyParserHelpers.h: * Source/WebCore/css/typedom/numeric/CSSMathValue.cpp: * Source/WebCore/css/values/CSSPrimitiveNumericTypes+ComputedStyleDependencies.cpp: (WebCore::CSS::collectComputedStyleDependencies): * Source/WebCore/style/AnchorPositionEvaluator.cpp: * Source/WebCore/style/AnchorPositionEvaluator.h: * Source/WebCore/style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertLength): Canonical link: https://commits.webkit.org/284391@main
https://bugs.webkit.org/show_bug.cgi?id=280541 rdar://136542647 Reviewed by Ryan Haddad. Remove tests from the safe-merge-queue status check. * Tools/CISupport/ews-build/steps.py: (CheckStatusOfPR): Canonical link: https://commits.webkit.org/284392@main
https://bugs.webkit.org/show_bug.cgi?id=280297 rdar://136614456 Reviewed by Keith Miller. Adds more PAS_PROFILE macro invocations, providing hooks for profiling more parts of libpas. * Source/bmalloc/libpas/src/libpas/pas_get_allocation_size.h: (pas_get_allocation_size): * Source/bmalloc/libpas/src/libpas/pas_get_heap.h: (pas_get_heap): * Source/bmalloc/libpas/src/libpas/pas_large_heap.c: (pas_large_heap_try_deallocate): (pas_large_heap_try_shrink): * Source/bmalloc/libpas/src/libpas/pas_large_sharing_pool.c: (pas_large_sharing_pool_boot_free): (pas_large_sharing_pool_free): (pas_large_sharing_pool_allocate_and_commit): (pas_large_sharing_pool_compute_summary): * Source/bmalloc/libpas/src/libpas/pas_megapage_cache.c: (megapage_cache_allocate_aligned): * Source/bmalloc/libpas/src/libpas/pas_page_base_config_utils.h: * Source/bmalloc/libpas/src/libpas/pas_page_base_config_utils_inlines.h: * Source/bmalloc/libpas/src/libpas/pas_try_reallocate.h: (pas_try_reallocate): Canonical link: https://commits.webkit.org/284393@main
https://bugs.webkit.org/show_bug.cgi?id=280535 Reviewed by Adrian Perez de Castro. * Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp: (IPC::sendPIDToPeer): (IPC::readPIDFromPeer): Canonical link: https://commits.webkit.org/284394@main
https://bugs.webkit.org/show_bug.cgi?id=280294 rdar://136616671 Reviewed by Keith Miller. Creates a new pas_always_compact_allocation_mode, used for allocations from memory spans that are known to be contiguous and specially managed and for which pointer compression is particularly simple. We adopt this mode for the libpas bootstrap heap and JIT reservation. * Source/bmalloc/bmalloc/CompactAllocationMode.h: (bmalloc::asPasAllocationMode): * Source/bmalloc/bmalloc/IsoHeap.cpp: (bmalloc::api::isoAllocateCompact): (bmalloc::api::isoTryAllocateCompact): * Source/bmalloc/bmalloc/TZoneHeap.cpp: (bmalloc::api::tzoneAllocateCompact): (bmalloc::api::tzoneTryAllocateCompact): * Source/bmalloc/libpas/src/libpas/jit_heap.c: (jit_heap_try_allocate): * Source/bmalloc/libpas/src/libpas/pas_allocation_mode.h: (pas_allocation_mode_get_string): * Source/bmalloc/libpas/src/libpas/pas_utility_heap.c: Canonical link: https://commits.webkit.org/284395@main
<https://bugs.webkit.org/show_bug.cgi?id=280496> <rdar://136802343> Reviewed by Geoffrey Garen. Fix construction of HexNumberBuffer::span() to convert std::array first, then create a subspan from the last N characters. Remove unsafe characters() methods and use span() instead. Introduce LIFETIME_BOUND attribute to prevent use-after-free bugs with C++ temporary objects. (I accidentally introduced this bug in a local version of this change before posting it.) * Source/WTF/wtf/Compiler.h: (LIFETIME_BOUND): Add. - Add support for the lifetimebound attribute in clang and gcc. * Source/WTF/wtf/HexNumber.h: (WTF::HexNumberBuffer::characters const): Delete. - Remove unsafe method. (WTF::HexNumberBuffer::span const): - Adopt LIFETIME_BOUND attribute for this method. - Change to construct std::span directly from std::array, then use std::span::last() to create a span of the last N elements. (WTF::StringTypeAdapter<HexNumberBuffer>::characters const): Delete. - Remove unused method. * Source/WebCore/platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::appendFormURLEncoded): - Switch to use HexNumberBuffer::span(), but keep hexBuffer alive on the stack. Canonical link: https://commits.webkit.org/284396@main
https://bugs.webkit.org/show_bug.cgi?id=280497 Reviewed by Mike Wyrzykowski. * Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnectionCallbackIdentifier.h: * Source/WebCore/Modules/indexeddb/shared/IDBDatabaseConnectionIdentifier.h: * Source/WebKit/Platform/IPC/ObjectIdentifierReference.serialization.in: * Source/WebKit/Shared/WTFArgumentCoders.serialization.in: * Source/WebKit/Shared/WebGPU/WebGPUBindGroupDescriptor.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUBindGroupEntry.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUBufferBinding.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUCanvasConfiguration.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUComputePassTimestampWrites.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUIdentifier.h: * Source/WebKit/Shared/WebGPU/WebGPUImageCopyBuffer.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUImageCopyTexture.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUPipelineDescriptorBase.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): (WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking): * Source/WebKit/Shared/WebGPU/WebGPUPipelineDescriptorBase.h: * Source/WebKit/Shared/WebGPU/WebGPUPipelineDescriptorBase.serialization.in: * Source/WebKit/Shared/WebGPU/WebGPUPipelineLayoutDescriptor.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUPresentationContextDescriptor.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUProgrammableStage.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPURenderPassColorAttachment.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPURenderPassTimestampWrites.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/WebGPU/WebGPUShaderModuleCompilationHint.cpp: (WebKit::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebKit/Shared/wc/WCContentBufferIdentifier.h: * Source/WebKit/WebProcess/GPU/graphics/GraphicsContextGLIdentifier.h: * Source/WebKit/WebProcess/GPU/graphics/RenderingBackendIdentifier.h: * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp: (WebKit::WebGPU::RemoteCommandEncoderProxy::copyBufferToBuffer): (WebKit::WebGPU::RemoteCommandEncoderProxy::clearBuffer): (WebKit::WebGPU::RemoteCommandEncoderProxy::writeTimestamp): (WebKit::WebGPU::RemoteCommandEncoderProxy::resolveQuerySet): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp: (WebKit::WebGPU::RemoteComputePassEncoderProxy::setPipeline): (WebKit::WebGPU::RemoteComputePassEncoderProxy::dispatchIndirect): (WebKit::WebGPU::RemoteComputePassEncoderProxy::setBindGroup): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h: * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp: (WebKit::WebGPU::RemoteQueueProxy::submit): (WebKit::WebGPU::RemoteQueueProxy::writeBuffer): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.cpp: (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setPipeline): (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setIndexBuffer): (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setVertexBuffer): (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::drawIndirect): (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::drawIndexedIndirect): (WebKit::WebGPU::RemoteRenderBundleEncoderProxy::setBindGroup): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp: (WebKit::WebGPU::RemoteRenderPassEncoderProxy::setPipeline): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::setIndexBuffer): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::setVertexBuffer): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::drawIndirect): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::drawIndexedIndirect): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::setBindGroup): (WebKit::WebGPU::RemoteRenderPassEncoderProxy::executeBundles): * Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameIdentifier.h: * Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: (WebKit::LibWebRTCCodecs::createDecoderInternal): (WebKit::LibWebRTCCodecs::createEncoderInternal): * Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h: (WebKit::LibWebRTCCodecs::Decoder::Decoder): (WebKit::LibWebRTCCodecs::Encoder::Encoder): * Source/WebKit/WebProcess/GPU/webrtc/VideoDecoderIdentifier.h: * Source/WebKit/WebProcess/GPU/webrtc/VideoEncoderIdentifier.h: * Tools/TestWebKitAPI/Tests/IPC/ThreadSafeObjectHeapTests.cpp: Canonical link: https://commits.webkit.org/284397@main
https://bugs.webkit.org/show_bug.cgi?id=280444 rdar://136789447 Reviewed by Antoine Quint. Previously this calculation had coverRangeEnd take into account the current scroll offset which was incorrect. Update the progress calculation to be more in line with the spec. Also update subjectOffset to use offsetTop/Left since we need an offset that is not affected by scroll position. This is not correct for situations where offsetParent is different than the source scroller, so we may need a solution that walks up the tree and adds scrollTop/Left. Also update the comment and filed an issue (w3c/csswg-drafts#10960) due to a small issue in the spec. To help visualize this calculation, there is a tool: https://scroll-driven-animations.style/tools/view-timeline/ranges/. coverRangeStart is equivalent to the scroll offset necessary to have the top edge of the subject touch the bottom edge of the scroller. Conversly, coverRangeEnd is equivalent to the scroll offset necessary to have the bottom edge of the subject touch the top edge of the scroller. Note that this calculation is only correct for the cover named timeline range. This will be further complicated when we start doing calculations for other timeline ranges, which correspond to different start and end positions for the subject. * Source/WebCore/animation/ViewTimeline.cpp: (WebCore::ViewTimeline::computeViewTimelineData const): (WebCore::ViewTimeline::startOffset const): (WebCore::ViewTimeline::endOffset const): * Source/WebCore/animation/ViewTimeline.h: Canonical link: https://commits.webkit.org/284398@main
…rophone was muted by the UA once rdar://135941062 https://bugs.webkit.org/show_bug.cgi?id=279658 Reviewed by Eric Carlson. When web page is muting, it notified CoreAudioSharedUnit which can then send back an AirPod muted notification. This triggers the fact that, even though web page decided to be muted, we know think that the user decided to mute. When web page tries to unmute, user is then prompted. We update CoreAudioSharedUnit to only send back muted notifications when isMuting is not aligned with isProducingMicrophoneSamples(). We will be able to test this with some refactoring in the way we mock audio capture. A follow-up patch will do this testing refactoring and improvement. * Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp: (WebCore::CoreAudioSharedUnit::isProducingMicrophoneSamplesChanged): (WebCore::CoreAudioSharedUnit::handleMuteStatusChangedNotification): * Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h: * Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.mm: (WebCore::CoreAudioSharedUnit::setMutedState): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::microphoneMuteStatusChanged): Canonical link: https://commits.webkit.org/284399@main
…tatistics/* are flaky failures. https://bugs.webkit.org/show_bug.cgi?id=280553 rdar://136862956 Unreviewed test gardening. Setting test expectations. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/284400@main
https://bugs.webkit.org/show_bug.cgi?id=280554 rdar://136863793 Reviewed by Ryosuke Niwa. Enable NoUncheckedPtrMemberChecker in build-and-analyze. Add the checker to various scripts that deal with static analyzer output. * Tools/Scripts/build-and-analyze: (make_analyzer_flags): * Tools/Scripts/compare-static-analysis-results: * Tools/Scripts/generate-dirty-files: * Tools/Scripts/smart-pointer-tool: Canonical link: https://commits.webkit.org/284401@main
https://bugs.webkit.org/show_bug.cgi?id=266537 Reviewed by Alan Baradlay. An inline box containing only a float should not be considered as contentful. * LayoutTests/TestExpectations: * LayoutTests/css3/unicode-bidi-float-crash.html: Added. * LayoutTests/platform/glib/css3/unicode-bidi-float-crash-expected.txt: Added. * LayoutTests/platform/ios/css3/unicode-bidi-float-crash-expected.txt: Added. * LayoutTests/platform/mac/css3/unicode-bidi-float-crash-expected.txt: Added. * LayoutTests/platform/win/css3/unicode-bidi-float-crash-expected.txt: Added. * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels): Canonical link: https://commits.webkit.org/284402@main
…es.html is a flaky failure. https://bugs.webkit.org/show_bug.cgi?id=280556 rdar://136866521 Unreviewed test gardening. Setting test expectations. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/284403@main
https://bugs.webkit.org/show_bug.cgi?id=280408 rdar://136754786 Reviewed by Eric Carlson. Add logging which tracks stall events, their duration, and which media loading source was being used at the time. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::updateBufferingState): (WebCore::HTMLMediaElement::clearMediaPlayer): (WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer): (WebCore::HTMLMediaElement::watchtimeTimerFired): (WebCore::HTMLMediaElement::startBufferingStopwatch): (WebCore::HTMLMediaElement::invalidateBufferingStopwatch): * Source/WebCore/html/HTMLMediaElement.h: * Source/WebCore/page/DiagnosticLoggingKeys.cpp: (WebCore::DiagnosticLoggingKeys::mediaBufferingWatchTimeKey): * Source/WebCore/page/DiagnosticLoggingKeys.h: Canonical link: https://commits.webkit.org/284404@main
https://bugs.webkit.org/show_bug.cgi?id=280494 <rdar://136798735> Reviewed by Charlie Wolfe. Text zoom equivalent to 278002@main. Largely identical (sending the WebPageProxy message to all processes, and iterating all root frames in each WebPage), except also removes the setPageAndTextZoomFactors. This should fix a case where the page zoom wasn't sent to all processes, and is hopefully slightly simpler. * LayoutTests/http/tests/site-isolation/text-zoom-expected.html: Added. * LayoutTests/http/tests/site-isolation/text-zoom.html: Added. * Source/WebCore/page/LocalFrame.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setTextZoomFactor): (WebKit::WebPageProxy::setPageZoomFactor): (WebKit::WebPageProxy::setPageAndTextZoomFactors): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::m_textAnimationController): (WebKit::WebPage::didSetTextZoomFactor): (WebKit::WebPage::didSetPageZoomFactor): (WebKit::WebPage::setTextZoomFactor): Deleted. (WebKit::WebPage::setPageZoomFactor): Deleted. (WebKit::WebPage::setPageAndTextZoomFactors): Deleted. * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/WebKit/WebProcess/WebPage/WebPage.messages.in: Canonical link: https://commits.webkit.org/284405@main
rdar://136847241 https://bugs.webkit.org/show_bug.cgi?id=280534 Reviewed by Matthieu Dubet. Re-import to pick up new anchor-size() tests. Upstream commit: web-platform-tests/wpt@a6337a9 * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-all-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-all.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-flat-tree-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow.tentative-expected.txt. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-flat-tree.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow.tentative.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-names-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scope-shadow-names.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-parse-invalid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-parse-invalid.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-parse-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-parse-valid.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/chrome-365594098-crash.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/w3c-import.log: Canonical link: https://commits.webkit.org/284406@main
https://bugs.webkit.org/show_bug.cgi?id=280529 Reviewed by Adrian Perez de Castro. logIdentifier() returns a uint64_t now. * Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Canonical link: https://commits.webkit.org/284407@main
https://bugs.webkit.org/show_bug.cgi?id=280510 Reviewed by Chris Dumez. Use a WeakRef instead of a raw reference for contexts, preventing static analyzer warnings of uncounted class members. * Source/WebCore/html/canvas/CanvasFilterContextSwitcher.cpp: (WebCore::CanvasFilterContextSwitcher::CanvasFilterContextSwitcher): (WebCore::CanvasFilterContextSwitcher::~CanvasFilterContextSwitcher): (WebCore::CanvasFilterContextSwitcher::expandedBounds const): * Source/WebCore/html/canvas/CanvasFilterContextSwitcher.h: (WebCore::CanvasFilterContextSwitcher::protectedContext const): * Source/WebCore/html/canvas/CanvasLayerContextSwitcher.cpp: (WebCore::CanvasLayerContextSwitcher::CanvasLayerContextSwitcher): (WebCore::CanvasLayerContextSwitcher::outsets const): * Source/WebCore/html/canvas/CanvasLayerContextSwitcher.h: (WebCore::CanvasLayerContextSwitcher::protectedContext const): Canonical link: https://commits.webkit.org/284408@main
…a crashtest directory https://bugs.webkit.org/show_bug.cgi?id=276428 Reviewed by Sam Sneddon. Various crashtests/* WPT tests are wrongfully skipped by the test runner due to being listed under `resource-files.json` wrongfully. This is likely due to them being imported when the importer script was on the revision in [1]. Since this seems to have been fixed in [2], simply remove the tests from `resource-files.json`. [1]: WebKit@d8b1589#diff-955991178e0e7971ad17ceface65532b503e98975aec31d0fc7093e0d80c3dc5R167-R169 [2]: WebKit@b702871 Canonical link: https://commits.webkit.org/284409@main
https://bugs.webkit.org/show_bug.cgi?id=280562 Reviewed by Adrian Perez de Castro. logIdentifier() returns a uint64_t now. * Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp: (WebCore::GStreamerPeerConnectionBackend::GStreamerPeerConnectionBackend): Canonical link: https://commits.webkit.org/284410@main
https://bugs.webkit.org/show_bug.cgi?id=278022 rdar://133759441 Reviewed by Chris Dumez. In order to address quarantine issues with forwarding to the Networking process, forward WebContent logs to the UI process instead. This will attribute the WebContent logs to a large number of UI processes, instead of to the single Networking process. * Source/WebKit/NetworkProcess/LogStream.cpp: (WebKit::LogStream::logOnBehalfOfWebContent): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::setupLogStream): Deleted. * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in: * Source/WebKit/Shared/LogStream.cpp: Renamed from Source/WebKit/NetworkProcess/LogStream.cpp. (WebKit::LogStream::~LogStream): (WebKit::LogStream::logOnBehalfOfWebContent): (WebKit::LogStream::setup): * Source/WebKit/Shared/LogStream.h: Renamed from Source/WebKit/NetworkProcess/LogStream.h. * Source/WebKit/Shared/LogStream.messages.in: Renamed from Source/WebKit/NetworkProcess/LogStream.messages.in. * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::setupLogStream): (WebKit::WebProcessProxy::logOnBehalfOfWebContent): Deleted. * Source/WebKit/UIProcess/WebProcessProxy.h: * Source/WebKit/UIProcess/WebProcessProxy.messages.in: * Source/WebKit/WebProcess/WebProcess.cpp: (WebKit::WebProcess::ensureNetworkProcessConnection): * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess): (WebKit::WebProcess::setupLogStream): Canonical link: https://commits.webkit.org/284411@main
…tify-content-horiz-003.xhtml https://bugs.webkit.org/show_bug.cgi?id=280540 Reviewed by Antti Koivisto. Implement fallback values for space-between, space-around and space-evenly. It handles both overflowing and lone flex item cases. (FFC already handled the lone case, but let's use the fallback mechanism instead.) * Source/WebCore/layout/formattingContexts/flex/FlexLayout.cpp: (WebCore::Layout::FlexLayout::handleMainAxisAlignment const): Canonical link: https://commits.webkit.org/284412@main
…13.html https://bugs.webkit.org/show_bug.cgi?id=280543 Reviewed by Antti Koivisto. In logical space margin-end becomes margin-start when main axis direction is reversed. * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp: (WebCore::Layout::FlexFormattingContext::convertFlexItemsToLogicalSpace): Canonical link: https://commits.webkit.org/284413@main
https://bugs.webkit.org/show_bug.cgi?id=280558 Reviewed by Antti Koivisto. Not supported yet. * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp: (WebCore::LayoutIntegration::canUseForFlexLayoutWithReason): Canonical link: https://commits.webkit.org/284414@main
https://bugs.webkit.org/show_bug.cgi?id=280559 Reviewed by Antti Koivisto. According to the spec flex box can't have float children, in practice (probably due to some tree builder bug) it happened and this condition was added (years ago). However I don't seem to be hitting it anymore. Let's remove it for now. * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp: (WebCore::LayoutIntegration::canUseForFlexLayoutWithReason): Canonical link: https://commits.webkit.org/284415@main
* LayoutTests/platform/win/TestExpectations: Canonical link: https://commits.webkit.org/284416@main
…sent https://bugs.webkit.org/show_bug.cgi?id=280560 Reviewed by Antti Koivisto. Unsupported property (this is on the flex box though and not part of flex layout). * LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/self-align-safe-unsafe-flex-001.html: * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp: (WebCore::LayoutIntegration::canUseForFlexLayoutWithReason): (WebCore::LayoutIntegration::printReason): Canonical link: https://commits.webkit.org/284417@main
…ity tree behind a new feature flag https://bugs.webkit.org/show_bug.cgi?id=280012 rdar://136316595 Reviewed by Chris Fleizach. This patch adds a compile-time feature flag, ENABLE_INCLUDE_IGNORED_IN_CORE_AX_TREE, and a runtime feature flag, IncludeIgnoredInCoreAXTree, to start including ignored objects in the "core", platform-agnostic accessibility tree. This is necessary to support off-main-thread text marker computation, e.g. for emitting a newline when exiting the accessibility object of an ignored `tr` element, as one of many examples. Prior to this commit, any use of `AXCoreObject::children` implicitly assumed that the returned objects were unignored. With this commit, that function is renamed to `unignoredChildren`, and any context which expected to only process unignored objects now uses it. A new function, `childrenIncludingIgnored` is added, and that is used in a few places. There were several direct usages of `m_children` that were problematic, as `m_children` now includes ignored objects when ENABLE_INCLUDE_IGNORED_IN_CORE_AX_TREE is true. These usages are replaced with unignoredChildren(/* updateChildrenIfNeeded */ false), achieving the same behavior in both configurations with more explicit intent. There are many test failures left to fix in ENABLE_INCLUDE_IGNORED_IN_CORE_AX_TREE with this change (6 ITM off, 60 ITM on). Those will be addressed in follow-up patches. We will also need to find ways to optimize `unignoredChildren`, either by caching the result or something else, as this naive initial implementation does show up heavily in samples since the accessibility tree now has signifcantly more objects to traverse through. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WebCore/accessibility/AXCoreObject.cpp: (WebCore::AXCoreObject::tabChildren): (WebCore::AXCoreObject::unignoredChildren): (WebCore::AXCoreObject::nextInPreOrder): (WebCore::AXCoreObject::nextSiblingIncludingIgnored const): (WebCore::AXCoreObject::nextUnignoredSibling const): (WebCore::AXCoreObject::nextUnignoredSiblingOrParent const): (WebCore::AXCoreObject::contents): (WebCore::AXCoreObject::ariaTreeItemContent): (WebCore::AXCoreObject::selectedRadioButton): (WebCore::AXCoreObject::selectedTabItem): (WebCore::AXCoreObject::appendRadioButtonDescendants const): (WebCore::AXCoreObject::parentObjectUnignored const): * Source/WebCore/accessibility/AXCoreObject.h: (WebCore::AXCoreObject::childrenIncludingIgnored): (WebCore::AXCoreObject::unignoredChildren): (WebCore::AXCoreObject::childrenIDs): (WebCore::Accessibility::findUnignoredChild): (WebCore::Accessibility::enumerateUnignoredDescendants): (WebCore::Accessibility::findChild): Deleted. (WebCore::Accessibility::enumerateDescendants): Deleted. * Source/WebCore/accessibility/AXImage.cpp: (WebCore::AXImage::imageOverlayElements): * Source/WebCore/accessibility/AXLogger.cpp: (WebCore::streamSubtree): * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::modalElementHasAccessibleContent): (WebCore::AXObjectCache::focusedImageMapUIElement): (WebCore::AXObjectCache::handleChildrenChanged): * Source/WebCore/accessibility/AXSearchManager.cpp: (WebCore::appendChildrenToArray): * Source/WebCore/accessibility/AXTextMarker.cpp: (WebCore::appendChildren): (WebCore::AXTextMarker::characterRangeForLine const): (WebCore::AXTextMarker::lineNumberForIndex const): * Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp: (WebCore::AccessibilityARIAGridRow::rowHeader): * Source/WebCore/accessibility/AccessibilityLabel.cpp: (WebCore::childrenContainOnlyStaticText): (WebCore::AccessibilityLabel::containsOnlyStaticText const): (WebCore::AccessibilityLabel::updateChildrenIfNecessary): * Source/WebCore/accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): (WebCore::AccessibilityList::determineAccessibilityRole): * Source/WebCore/accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::setSelectedChildren): (WebCore::AccessibilityListBox::selectedChildren): (WebCore::AccessibilityListBox::visibleChildren): (WebCore::AccessibilityListBox::elementAccessibilityHitTest const): * Source/WebCore/accessibility/AccessibilityMathMLElement.cpp: (WebCore::AccessibilityMathMLElement::mathRadicand): (WebCore::AccessibilityMathMLElement::mathRootIndexObject): (WebCore::AccessibilityMathMLElement::mathNumeratorObject): (WebCore::AccessibilityMathMLElement::mathDenominatorObject): (WebCore::AccessibilityMathMLElement::mathUnderObject): (WebCore::AccessibilityMathMLElement::mathOverObject): (WebCore::AccessibilityMathMLElement::mathBaseObject): (WebCore::AccessibilityMathMLElement::mathSubscriptObject): (WebCore::AccessibilityMathMLElement::mathSuperscriptObject): * Source/WebCore/accessibility/AccessibilityMenuList.cpp: (WebCore::AccessibilityMenuList::didUpdateActiveOption): * Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::selectedChildren): (WebCore::AccessibilityMenuListPopup::handleChildrenChanged): (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption): * Source/WebCore/accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::boundingBoxRect const): (WebCore::AccessibilityNodeObject::visibleChildren): (WebCore::AccessibilityNodeObject::internalLinkElement const): (WebCore::AccessibilityNodeObject::textAsLabelFor const): (WebCore::AccessibilityNodeObject::stringValue const): (WebCore::accessibleNameForNode): * Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::insertChild): (WebCore::AccessibilityObject::clickPoint): (WebCore::AccessibilityObject::ariaTreeRows): (WebCore::AccessibilityObject::disclosedRows): (WebCore::AccessibilityObject::supportsPressAction const): (WebCore::AccessibilityObject::elementAccessibilityHitTest const): (WebCore::AccessibilityObject::includeIgnoredInCoreTree const): (WebCore::AccessibilityObject::ariaListboxSelectedChildren): (WebCore::AccessibilityObject::selectedListItems): (WebCore::AccessibilityObject::parentObjectUnignored const): Deleted. * Source/WebCore/accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::parentInCoreTree const): * Source/WebCore/accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::stringValue const): (WebCore::AccessibilityRenderObject::documentLinks): (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest const): (WebCore::AccessibilityRenderObject::updateAttachmentViewParents): (WebCore::AccessibilityRenderObject::addNodeOnlyChildren): (WebCore::AccessibilityRenderObject::updateRoleAfterChildrenCreation): * Source/WebCore/accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::updateChildrenRoles): (WebCore::AccessibilityTable::addChildren): (WebCore::AccessibilityTable::cells): * Source/WebCore/accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::elementRect const): (WebCore::AccessibilityTableColumn::columnHeader): * Source/WebCore/accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::rowHeader): (WebCore::AccessibilityTableRow::addChildren): * Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityElements]): (-[WebAccessibilityObjectWrapper accessibilityElementCount]): (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]): (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]): (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]): (accessibleElementsForObjects): (-[WebAccessibilityObjectWrapper accessibilityIsFirstItemInSuggestion]): (-[WebAccessibilityObjectWrapper accessibilityIsLastItemInSuggestion]): * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::AXIsolatedObject): (WebCore::AXIsolatedObject::initializeProperties): (WebCore::AXIsolatedObject::setProperty): (WebCore::AXIsolatedObject::boolAttributeValue const): (WebCore::AXIsolatedObject::relativeFrameFromChildren const): (WebCore::AXIsolatedObject::sibling const): Deleted. (WebCore::AXIsolatedObject::siblingOrParent const): Deleted. (WebCore::AXIsolatedObject::parentObjectUnignored const): Deleted. * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h: * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::createEmptyContent): (WebCore::AXIsolatedTree::shouldCreateNodeChange): (WebCore::AXIsolatedTree::collectNodeChangesForSubtree): (WebCore::AXIsolatedTree::updateNode): (WebCore::AXIsolatedTree::updatePropertiesForSelfAndDescendants): (WebCore::AXIsolatedTree::updateChildren): (WebCore::AXIsolatedTree::removeNode): (WebCore::AXIsolatedTree::lastMarker): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: (WebCore::AXIsolatedTree::isUnconnectedNode const): * Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm: (WebCore::AXIsolatedObject::textMarkerRange const): * Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm: (WebCore::isEmptyGroup): * Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (transformSpecialChildrenCases): (children): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]): (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]): (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): Canonical link: https://commits.webkit.org/284418@main
https://bugs.webkit.org/show_bug.cgi?id=274756 rdar://128807880 Reviewed by Chris Dumez. Changed JSC::CachePayload, WTF::MappedFileData, and WebCore::DataSegment::Provider to use spans instead of pointer/size pairs. * Source/JavaScriptCore/runtime/CachePayload.cpp: (JSC::CachePayload::span const): Added. (JSC::CachePayload::data const): Deleted. (JSC::CachePayload::size const): Deleted. * Source/JavaScriptCore/runtime/CachePayload.h: Updated for the above. * Source/JavaScriptCore/runtime/CachedTypes.cpp: (JSC::Decoder::offsetOf): Tweaked coding style a bit (JSC::decodeCodeBlockImpl): Ditto. (JSC::isCachedBytecodeStillValid): Removed use of CachePayload::size in function that already calls CachePayload::span. * Source/WTF/wtf/FileSystem.cpp: (WTF::FileSystemImpl::MappedFileData::~MappedFileData): Updated since m_fileData is now a span. (WTF::FileSystemImpl::MappedFileData::mapFileHandle): Use span for m_fileData. * Source/WTF/wtf/win/FileSystemWin.cpp: (WTF::FileSystemImpl::MappedFileData::~MappedFileData): Updated since m_fileData is now a span. (WTF::FileSystemImpl::MappedFileData::mapFileHandle): Use span for m_fileData. * Source/WTF/wtf/FileSystem.h: Use span for m_fileData. Return a span from leakHandle. * Source/WebCore/platform/ShareableResource.cpp: (WebCore::ShareableResource::wrapInSharedBuffer): Updated since DataSegment::Provider now takes a Function that returns a span. (WebCore::ShareableResource::span const): Fixed bug where the span returned here was bigger than it should be: not past the end of the shared memory, but possibly past the end of the resource. * Source/WebCore/platform/SharedBuffer.cpp: (WebCore::FragmentedSharedBuffer::FragmentedSharedBuffer): Updated since DataSegment::Provider now takes a Function that returns a span. (WebCore::FragmentedSharedBuffer::tryCreateArrayBuffer const): Removed unneeded cast to unsigned. Use copyTo instead of a hand-written loop to copy the data from m_segments into the ArrayBuffer. (WebCore::DataSegment::iterate const): Use span. (WebCore::FragmentedSharedBuffer::startsWith const): Ditto. (WebCore::FragmentedSharedBuffer::copyTo const): Use span, memcpySpan, and subspan instead of pointers. (WebCore::FragmentedSharedBuffer::operator== const): Use equalSpans. (WebCore::SharedBuffer::span const): Added. (WebCore::SharedBuffer::data const): Deleted. (WebCore::SharedBuffer::operator[] const): Updated since DataSegment::Provider now takes a Function that returns a span. (WebCore::SharedBuffer::decoder const): Use span. (WebCore::DataSegment::span const): Added. (WebCore::DataSegment::data const): Deleted. (WebCore::DataSegment::size const): Deleted. (WebCore::SharedBufferDataView::createSharedBuffer const): Updated since DataSegment::Provider now takes a Function that returns a span. * Source/WebCore/platform/SharedBuffer.h: Changed DataSegment::Provider to a single Function that returns a span instead of one that returns a data pointer and another that returns a size. * Source/WebCore/platform/SharedMemory.cpp: (WebCore::SharedMemory::createSharedBuffer const): Updated since DataSegment::Provider now takes a Function that returns a span. * Source/WebCore/platform/cocoa/SharedBufferCocoa.mm: (WebCore::FragmentedSharedBuffer::createCMBlockBuffer const): Removed unneeded cast. * Source/WebCore/platform/glib/SharedBufferGlib.cpp: (WebCore::SharedBuffer::createGBytes const): Use span. * Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp: (copyFromSharedBuffer): Deleted. (WebCore::ScalableImageDecoder::create): Use FragmentedSharedBuffer::copyTo instead of a local copyFromSharedBuffer function here that does the same thing. * Source/WebCore/platform/network/BlobRegistryImpl.cpp: (WebCore::writeFilePathsOrDataBuffersToFile): Use the correct int64_t type here, which matches the return type of FileSystem::writeToFile. * Source/WebCore/platform/skia/SharedBufferSkia.cpp: (WebCore::SharedBuffer::createSkData const): Use span. * Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm: (WebKit::WebPushD::Connection::performSendWithAsyncReplyWithoutUsingIPCConnection const): Tweak coding style. * Source/WebKit/NetworkProcess/cache/NetworkCacheDataCocoa.mm: (WebKit::NetworkCache::Data::adoptMap): Updated since MappedFileData::leakHandle now returns a span. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (dataReferenceFrom): Updated since DataSegment::Provider now takes a Function that returns a span. This new version now holds a reference to the string instead of making a copy of the bytes, which seems what was intended from the start. * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): Updated for changes to DataSegment. This now makes the object lifetime clearer using an explicit RetainPtr. * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto. * Source/WebKit/webpushd/WebPushDaemon.mm: (WebPushD::WebPushDaemon::connectionEventHandler): Use auto* for style consistency. Canonical link: https://commits.webkit.org/284419@main
https://bugs.webkit.org/show_bug.cgi?id=280817 rdar://137197266 Reviewed by Wenson Hsieh. This patch adds missing `SecureContext` from `ClipboardItem` interface as per web specification [1]: [1] https://w3c.github.io/clipboard-apis/#clipboard-item-interface It also do drive-by to add specification link and `{}` to constructor argument. * Source/WebCore/Modules/async-clipboard/ClipboardItem.idl: Canonical link: https://commits.webkit.org/284611@main
https://bugs.webkit.org/show_bug.cgi?id=277734 Reviewed by Michael Catanzaro. FileSystemPOSIX opens files without the O_CLOEXEC file in openFile() and openTemporaryFile(). This can cause file handles to be leaked to subprocess. For example, if the UIProcess opens content rules files from the ContentRuleListStore class before the NetworkProcess is spawned, the content rules file handles are leaked to the NetworkProcess. It does not seem useful to open files without O_CLOEXEC. Also fix FileSystemCocoa for createTemporaryZipArchive(). * Source/WTF/wtf/posix/FileSystemPOSIX.cpp: (WTF::FileSystemImpl::openFile): (WTF::FileSystemImpl::openTemporaryFile): * Source/WTF/wtf/cocoa/FileSystemCocoa.mm: (WTF::FileSystemImpl::createTemporaryZipArchive): (WTF::FileSystemImpl::openTemporaryFile): Canonical link: https://commits.webkit.org/284612@main
https://bugs.webkit.org/show_bug.cgi?id=280643 rdar://137000722 Reviewed by Tyler Wilcock. In isolated tree mode, WebKit wasn't properly handling the case where an aria-modal dialog is dynamically created and added to the DOM. In addition, WebKit didn't have any logic to pick the deepest aria-modal dialog if multiple dialogs are nested. Adding this logic matches Chrome's behavior now. In both cases, the issue was correctly ignoring everything outside of the dialog while focus is inside. * LayoutTests/accessibility/mac/dynamic-modal-expected.txt: Added. * LayoutTests/accessibility/mac/dynamic-modal.html: Added. * LayoutTests/accessibility/mac/nested-modal-expected.txt: Added. * LayoutTests/accessibility/mac/nested-modal.html: Added. * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::updateCurrentModalNode): (WebCore::AXObjectCache::handleAttributeChange): Canonical link: https://commits.webkit.org/284613@main
…PP-Checks queue https://bugs.webkit.org/show_bug.cgi?id=280810 rdar://137179960 Reviewed by Ryan Haddad. Disable adding merging blocked label upon failure. Remove from safe-merge-queue list. * Tools/CISupport/ews-build/steps.py: (CheckStatusOfPR): (DisplaySaferCPPResults.getResultSummary): * Tools/CISupport/ews-build/steps_unittest.py: Canonical link: https://commits.webkit.org/284614@main
…niff header. https://bugs.webkit.org/show_bug.cgi?id=280714 rdar://131857015 Reviewed by Chris Dumez. Respect the site's policy not to sniff the content. If the server sends the X-Content-Type-Options: nosniff header, we should not replace the content type to text/html if it is application/octet-stream. * LayoutTests/http/tests/workers/service/resources/download-octet-stream.py: Added. * LayoutTests/http/tests/workers/service/service-worker-download-octet-stream-nosniff.https-expected.txt: Added. * LayoutTests/http/tests/workers/service/service-worker-download-octet-stream-nosniff.https.html: Added. * Source/WebCore/platform/network/ResourceResponseBase.cpp: (WebCore::isScriptAllowedByNosniff): (WebCore::ResourceResponseBase::isNosniff const): * Source/WebCore/platform/network/ResourceResponseBase.h: * Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp: (WebCore::ServiceWorkerFetch::processResponse): Canonical link: https://commits.webkit.org/284615@main
https://bugs.webkit.org/show_bug.cgi?id=280816 Reviewed by Yusuke Suzuki. This patch changes to use `@argumentCount` instead of `arguments.length` in builtin JS code for consistency. * Source/JavaScriptCore/builtins/ArrayConstructor.js: (of): * Source/JavaScriptCore/builtins/ArrayPrototype.js: (linkTimeConstant.concatSlowPath): (toSpliced): * Source/JavaScriptCore/builtins/FunctionPrototype.js: (call): * Source/JavaScriptCore/builtins/PromiseConstructor.js: (try): * Source/JavaScriptCore/builtins/StringConstructor.js: (raw): * Source/JavaScriptCore/builtins/StringPrototype.js: (linkTimeConstant.stringConcatSlowPath): * Source/JavaScriptCore/builtins/TypedArrayConstructor.js: (of): Canonical link: https://commits.webkit.org/284616@main
https://bugs.webkit.org/show_bug.cgi?id=280583 rdar://136926899 Reviewed by Mike Wyrzykowski. A conditional compilation directive flag named `HAVE_HDR_SUPPORT` is added. An internal feature flag named `HDRForImagesEnabled` is added. A new option named Headroom is added to ImagePaintingOptions. When rendering to a CABackingStore, the layer.contentsFormat needs to be set to float 16 bit format. When creating an IOSurface this IOSurface will be rendered via layer.contents, the color space of this IOSurface has to be CGColorSpaceUsesExtendedRange(). The pixel format of this IOSurface has to be float 16 bit format. When displaying CGImage, its headroom has to be set to the context by calling CGContextSetEDRTargetHeadroom(). * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/css/query/MediaQueryFeatures.cpp: (WebCore::MQ::Features::colorGamut): * Source/WebCore/page/PageOverlayController.cpp: (WebCore::PageOverlayController::updateSettingsForLayer): * Source/WebCore/platform/PlatformScreen.h: * Source/WebCore/platform/ScreenProperties.h: * Source/WebCore/platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::draw): * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::frameHeadroomAtIndex const): * Source/WebCore/platform/graphics/BitmapImageSource.h: * Source/WebCore/platform/graphics/ContentsFormat.cpp: Copied from Source/WebKit/WebProcess/GPU/graphics/RemoteNativeImageBackendProxy.h. (WebCore::contentsFormatExtendedColorSpace): (WebCore::operator<<): * Source/WebCore/platform/graphics/ContentsFormat.h: Copied from Source/WebCore/platform/graphics/ca/cocoa/WebTiledBackingLayer.h. (WebCore::contentsFormatBytesPerPixel): * Source/WebCore/platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::setHDRForImagesEnabled): (WebCore::GraphicsLayer::hdrForImagesEnabled const): * Source/WebCore/platform/graphics/GraphicsLayerClient.h: (WebCore::GraphicsLayerClient::hdrForImagesEnabled const): * Source/WebCore/platform/graphics/ImageBufferPixelFormat.h: (WebCore::convertToPixelFormat): (WebCore::convertToIOSurfaceFormat): * Source/WebCore/platform/graphics/ImageFrame.h: (WebCore::ImageFrame::setHeadroom): (WebCore::ImageFrame::headroom const): * Source/WebCore/platform/graphics/ImagePaintingOptions.h: (WebCore::ImagePaintingOptions::allowImageSubsampling const): (WebCore::ImagePaintingOptions::showDebugBackground const): (WebCore::ImagePaintingOptions::headroom const): (WebCore::ImagePaintingOptions::setOption): * Source/WebCore/platform/graphics/ImageSource.h: (WebCore::ImageSource::frameHeadroomAtIndex const): * Source/WebCore/platform/graphics/ImageTypes.h: (WebCore::Headroom::Headroom): (WebCore::Headroom::operator float const): * Source/WebCore/platform/graphics/LayerTreeAsTextOptions.h: * Source/WebCore/platform/graphics/NativeImage.cpp: (WebCore::NativeImage::headroom const): * Source/WebCore/platform/graphics/NativeImage.h: * Source/WebCore/platform/graphics/PixelBuffer.cpp: (WebCore::PixelBuffer::supportedPixelFormat): * Source/WebCore/platform/graphics/PixelBufferConversion.cpp: (WebCore::makeVImageCGImageFormat): * Source/WebCore/platform/graphics/PixelFormat.cpp: (WebCore::operator<<): * Source/WebCore/platform/graphics/PixelFormat.h: * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::createPlatformCALayer): (WebCore::GraphicsLayerCA::dumpAdditionalProperties const): * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h: * Source/WebCore/platform/graphics/ca/PlatformCALayer.h: * Source/WebCore/platform/graphics/ca/PlatformCALayer.mm: (WebCore::PlatformCALayer::drawRepaintIndicator): * Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h: (WebCore::PlatformCALayerClient::hdrForImagesEnabled const): * Source/WebCore/platform/graphics/ca/TileController.cpp: (WebCore::TileController::setContentsFormat): (WebCore::TileController::createTileLayer): (WebCore::TileController::setWantsDeepColorBackingStore): Deleted. * Source/WebCore/platform/graphics/ca/TileController.h: * Source/WebCore/platform/graphics/ca/TileGrid.cpp: (WebCore::TileGrid::updateTileLayerProperties): * Source/WebCore/platform/graphics/ca/cocoa/ContentsFormatCocoa.h: Copied from Source/WebCore/platform/graphics/ImageBufferPixelFormat.h. (WebCore::convertToIOSurfaceFormat): (WebCore::contentsFormatString): (WebCore::contentsFormatWantsExtendedDynamicRangeContent): (WebCore::contentsFormatWantsToneMapMode): * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h: * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::commonInit): (WebCore::PlatformCALayerCocoa::contentsFormat const): (WebCore::PlatformCALayerCocoa::setContentsFormat): (WebCore::PlatformCALayerCocoa::updateContentsFormat): (WebCore::PlatformCALayerCocoa::backingStoreBytesPerPixel const): (WebCore::PlatformCALayerCocoa::wantsDeepColorBackingStore const): Deleted. (WebCore::PlatformCALayerCocoa::setWantsDeepColorBackingStore): Deleted. (WebCore::layerContentsFormat): Deleted. * Source/WebCore/platform/graphics/ca/cocoa/WebTiledBackingLayer.h: * Source/WebCore/platform/graphics/ca/cocoa/WebTiledBackingLayer.mm: (-[WebTiledBackingLayer setContentsFormat:]): (-[WebTiledBackingLayer contentsFormat]): (-[WebTiledBackingLayer setWantsDeepColorBackingStore:]): Deleted. (-[WebTiledBackingLayer wantsDeepColorBackingStore]): Deleted. * Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp: (WebCore::PlatformImageNativeImageBackend::headroom const): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::drawNativeImageInternal): * Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp: (WebCore::createImageSourceOptions): (WebCore::ImageDecoderCG::fetchFrameMetaDataAtIndex const): * Source/WebCore/platform/graphics/cg/NativeImageCG.cpp: (WebCore::PlatformImageNativeImageBackend::headroom const): (WebCore::NativeImage::draw): * Source/WebCore/platform/graphics/cocoa/IOSurface.h: * Source/WebCore/platform/graphics/cocoa/IOSurface.mm: (WebCore::optionsForSurface): (WebCore::optionsFor32BitSurface): (WebCore::optionsFor64BitSurface): (WebCore::IOSurface::IOSurface): (WebCore::formatFromSurface): (WebCore::IOSurface::bitmapConfiguration const): (WebCore::operator<<): * Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp: (WebCore::PlatformImageNativeImageBackend::headroom const): * Source/WebCore/platform/ios/LegacyTileGridTile.mm: (WebCore::LegacyTileGridTile::LegacyTileGridTile): * Source/WebCore/platform/ios/PlatformScreenIOS.mm: (WebCore::screenContentsFormat): (WebCore::screenColorSpace): (WebCore::collectScreenProperties): (WebCore::screenSupportsExtendedColor): Deleted. * Source/WebCore/platform/mac/PlatformScreenMac.mm: (WebCore::screenContentsFormat): (WebCore::collectScreenProperties): (WebCore::screenSupportsExtendedColor): Deleted. * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::hdrForImagesEnabled const): * Source/WebCore/rendering/RenderLayerBacking.h: * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::hdrForImagesEnabled const): * Source/WebCore/rendering/RenderLayerCompositor.h: * Source/WebCore/testing/Internals.cpp: (WebCore::toLayerTreeAsTextOptions): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h: (WebKit::RemoteLayerBackingStore::contentsFormat const): * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::pixelFormat const): (WebKit::RemoteLayerBackingStore::bytesPerPixel const): (WebKit::RemoteLayerBackingStore::usesDeepColorBackingStore const): Deleted. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm: (WebKit::dumpChangedLayers): * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.mm: (WebKit::RemoteLayerWithRemoteRenderingBackingStore::ensureBackingStore): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _takeViewSnapshot]): * Source/WebKit/WebProcess/GPU/graphics/RemoteNativeImageBackendProxy.cpp: (WebKit::RemoteNativeImageBackendProxy::headroom const): * Source/WebKit/WebProcess/GPU/graphics/RemoteNativeImageBackendProxy.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm: (WebKit::GraphicsLayerCARemote::createPlatformCALayer): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm: (WebKit::PlatformCALayerRemote::displayColorSpace const): (WebKit::PlatformCALayerRemote::updateBackingStore): (WebKit::PlatformCALayerRemote::contentsFormat const): (WebKit::PlatformCALayerRemote::setContentsFormat): (WebKit::PlatformCALayerRemote::wantsDeepColorBackingStore const): Deleted. (WebKit::PlatformCALayerRemote::setWantsDeepColorBackingStore): Deleted. * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp: (WebKit::PlatformCALayerRemoteTiledBacking::contentsFormat const): (WebKit::PlatformCALayerRemoteTiledBacking::setContentsFormat): (WebKit::PlatformCALayerRemoteTiledBacking::wantsDeepColorBackingStore const): Deleted. (WebKit::PlatformCALayerRemoteTiledBacking::setWantsDeepColorBackingStore): Deleted. * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: (WebKit::RemoteLayerTreeDrawingArea::hdrForImagesEnabled const): * Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm: (createBitmapContextFromWebView): Canonical link: https://commits.webkit.org/284617@main
…lineAlignSelf https://bugs.webkit.org/show_bug.cgi?id=280803 Reviewed by Antti Koivisto. * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp: (WebCore::LayoutIntegration::canUseForFlexLayoutWithReason): (WebCore::LayoutIntegration::printReason): Canonical link: https://commits.webkit.org/284618@main
…in Safari https://bugs.webkit.org/show_bug.cgi?id=280829 rdar://137135213 Reviewed by Eric Carlson. Mute video elements used when testing requestVideoFrameCallback(). This allows those elements to begin playback, even absent a user gesture, with default autoplay policies in Safari. * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-before-xr-session.https.html: * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-dom.html: * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-during-xr-session.https.html: * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-parallel.html: * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-repeating.html: * LayoutTests/imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback.html: Canonical link: https://commits.webkit.org/284619@main
https://bugs.webkit.org/show_bug.cgi?id=280721 rdar://137091365 Reviewed by Ryosuke Niwa. Smart pointer adoption as per the static analyzer. * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::imageBuffer const): * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h: (WebKit::RemoteDisplayListRecorder::protectedRenderingBackend const): * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::surfaceBufferToVideoFrame): (WebKit::RemoteGraphicsContextGL::paintNativeImageToImageBuffer): (WebKit::RemoteGraphicsContextGL::protectedVideoFrameObjectHeap const): * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h: * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp: (WebKit::RemoteGraphicsContextGL::copyTextureFromVideoFrame): (WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::workQueueInitialize): (WebKit::RemoteRenderingBackend::workQueueUninitialize): (WebKit::RemoteRenderingBackend::moveToSerializedBuffer): (WebKit::RemoteRenderingBackend::moveToImageBuffer): (WebKit::RemoteRenderingBackend::createRemoteBarcodeDetector): (WebKit::RemoteRenderingBackend::releaseRemoteBarcodeDetector): (WebKit::RemoteRenderingBackend::createRemoteFaceDetector): (WebKit::RemoteRenderingBackend::releaseRemoteFaceDetector): (WebKit::RemoteRenderingBackend::createRemoteTextDetector): (WebKit::RemoteRenderingBackend::releaseRemoteTextDetector): (WebKit::RemoteRenderingBackend::protectedShapeDetectionObjectHeap const): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp: (WebKit::RemoteGraphicsContextGLProxy::initializeIPC): (WebKit::RemoteGraphicsContextGLProxy::protectedVideoFrameObjectHeapProxy const): (WebKit::RemoteGraphicsContextGLProxy::videoFrameToImage): (WebKit::RemoteGraphicsContextGLProxy::wasCreated): (WebKit::RemoteGraphicsContextGLProxy::waitUntilInitialized): (WebKit::RemoteGraphicsContextGLProxy::abandonGpuProcess): (WebKit::RemoteGraphicsContextGLProxy::disconnectGpuProcessIfNeeded): * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h: (WebKit::RemoteGraphicsContextGLProxy::send): (WebKit::RemoteGraphicsContextGLProxy::sendSync): (WebKit::RemoteGraphicsContextGLProxy::protectedStreamConnection const): * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection): (WebKit::RemoteRenderingBackendProxy::disconnectGPUProcess): (WebKit::RemoteRenderingBackendProxy::didInitialize): * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h: (WebKit::RemoteRenderingBackendProxy::protectedConnection const): * Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm: Canonical link: https://commits.webkit.org/284620@main
https://bugs.webkit.org/show_bug.cgi?id=280661 rdar://137023471 Reviewed by Chris Dumez and Mike Wyrzykowski. Smart pointer adoption as per the static analyzer. * Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp: (WebKit::RemoteImageBufferSet::endPrepareForDisplay): (WebKit::RemoteImageBufferSet::ensureBufferForDisplay): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.cpp: (WebKit::RemoteCommandBuffer::RemoteCommandBuffer): (WebKit::RemoteCommandBuffer::destruct): (WebKit::RemoteCommandBuffer::stopListeningForIPC): (WebKit::RemoteCommandBuffer::setLabel): (WebKit::RemoteCommandBuffer::protectedStreamConnection const): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp: (WebKit::RemoteComputePipeline::RemoteComputePipeline): (WebKit::RemoteComputePipeline::destruct): (WebKit::RemoteComputePipeline::stopListeningForIPC): (WebKit::RemoteComputePipeline::getBindGroupLayout): (WebKit::RemoteComputePipeline::setLabel): (WebKit::RemoteComputePipeline::protectedBacking): (WebKit::RemoteComputePipeline::protectedStreamConnection const): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.cpp: (WebKit::RemoteExternalTexture::RemoteExternalTexture): (WebKit::RemoteExternalTexture::destroy): (WebKit::RemoteExternalTexture::undestroy): (WebKit::RemoteExternalTexture::destruct): (WebKit::RemoteExternalTexture::stopListeningForIPC): (WebKit::RemoteExternalTexture::setLabel): (WebKit::RemoteExternalTexture::protectedBacking): (WebKit::RemoteExternalTexture::protectedStreamConnection const): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.cpp: (WebKit::RemoteTexture::createView): (WebKit::RemoteTexture::destroy): (WebKit::RemoteTexture::destruct): (WebKit::RemoteTexture::setLabel): (WebKit::RemoteTexture::protectedBacking): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.cpp: (WebKit::RemoteTextureView::RemoteTextureView): (WebKit::RemoteTextureView::destruct): (WebKit::RemoteTextureView::stopListeningForIPC): (WebKit::RemoteTextureView::setLabel): (WebKit::RemoteTextureView::protectedStreamConnection const): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.h: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteXRProjectionLayer.cpp: (WebKit::RemoteXRProjectionLayer::destruct): * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp: (WebKit::RemoteImageBufferSetProxy::didPrepareForDisplay): (WebKit::RemoteImageBufferSetProxy::close): (WebKit::RemoteImageBufferSetProxy::willPrepareForDisplay): (WebKit::RemoteImageBufferSetProxy::remoteBufferSetWasDestroyed): * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.cpp: (WebKit::WebGPU::RemoteTextureProxy::createView): Canonical link: https://commits.webkit.org/284621@main
…s a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=280834 rdar://137216934 Unreviewed test gardening. * Tools/TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: (TEST(WebKit, AutoLayoutIntegration)): Canonical link: https://commits.webkit.org/284622@main
https://bugs.webkit.org/show_bug.cgi?id=279728 rdar://136031070 Reviewed by Tim Nguyen. Add CSSNumericValue as one of the options for `EffectTiming.duration`. Since percentage values are not allowed as input, we add the `EffectTiming::durationAsDoubleOrString()` to convert this value for the `double` and `DOMString` case. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/animation/CustomEffect.cpp: (WebCore::CustomEffect::create): * Source/WebCore/animation/EffectTiming.cpp: Added. (WebCore::EffectTiming::durationAsDoubleOrString const): * Source/WebCore/animation/EffectTiming.h: * Source/WebCore/animation/EffectTiming.idl: * Source/WebCore/animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::create): Canonical link: https://commits.webkit.org/284623@main
…igin-vary-cookie.html is a constant failure. https://bugs.webkit.org/show_bug.cgi?id=280832 rdar://137213463 Unreviewed test gardening. Setting test expectations. * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/284624@main
* Source/WebCore/SaferCPPExpectations/NoUncountedMemberCheckerExpectations: * Source/WebKit/SaferCPPExpectations/UncountedCallArgsCheckerExpectations: * Source/WebKit/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations: Canonical link: https://commits.webkit.org/284625@main
…tegration.mm rdar://137222338 https://bugs.webkit.org/show_bug.cgi?id=280838 Reviewed by Antoine Quint. Removed extra #if * Tools/TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: Canonical link: https://commits.webkit.org/284626@main
https://bugs.webkit.org/show_bug.cgi?id=256856 rdar://problem/109419228 Reviewed by Charlie Wolfe. This patch implements methods to turn different webauthn dictionaries into more JSON friendly versions. This was added to make ergonomics for developers easier in https://w3c.github.io/webauthn/#dom-publickeycredential-tojson. BufferSource is tricky here, because it is currently not defined in IDL to the BufferSource type, but instead IDLUnion<ArrayBuffer, ArrayBufferView>, which we maintain. To get around this issue I defined a new IDLBufferSource to be used for situations where we need JSGenerateToJSObject and JSGenerateToNativeObject. This is the first instance of an IDL type containing a BufferSource needing both JSGenerateToJSObject and JSGenerateToNativeObject. I imported the WPT tests that exercise fromJSON, but the WPT toJSON ones require virtual authenticator support. This is currently only available with WebDriver, so I instead added WKTR-friendly test cases for toJSON. * LayoutTests/TestExpectations: * LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt: * LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html: * LayoutTests/imported/w3c/resources/import-expectations.json: * LayoutTests/imported/w3c/web-platform-tests/webauthn/META.yml: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/WEB_FEATURES.yml: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/conditional-mediation.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-abort.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-attachment.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-rp.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-user.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-clientdata.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-cross-origin-iframe.https.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-excludecredentials.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-extensions.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-getpublickey.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-hints.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-not-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-minpinlength.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-passing.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-prf.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-resident-key.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-timeout.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-not-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-abort.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-allowcredentials.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-attachment.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-rpid.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-extensions.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-hints.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-not-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-supported.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-passing.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-prf.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-rk-passing.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-timeout.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/helpers.js: Added. (createCredential): (assertCredential): (ab2str): (parseAuthenticatorData): (TestCase.this.testFunction): (TestCase): (TestCase.prototype.toObject): (TestCase.prototype.toArgs): (TestCase.prototype.modify.recursiveSetObject): (TestCase.prototype.modify): (TestCase.prototype.doIt): (TestCase.prototype.testPasses): (TestCase.prototype.testFails): (TestCase.prototype.runTest): (TestCase.prototype.testSetup): (TestCase.prototype.beforeTest): (TestCase.prototype.testTeardown): (TestCase.prototype.afterTest): (TestCase.prototype.validateRet): (cloneObject): (extendObject): (CreateCredentialsTest): (CreateCredentialsTest.prototype.validateRet): (GetCredentialsTest): (GetCredentialsTest.prototype.addCredential): (GetCredentialsTest.prototype.testSetup): (GetCredentialsTest.prototype.validateRet): (GetCredentialsTest.prototype.setIsResidentKeyTest): (base64urlEncode): * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.js: Added. (async idlArray): * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.js: Added. (async idlArray): * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.js: Added. (test): * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.js: Added. (test): * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.js: Added. (assertObjectKeysEq): (convertObject): (authenticatorResponseToJson): (publicKeyCredentialToJson): (virtualAuthenticatorPromiseTest.async t): * LayoutTests/imported/w3c/web-platform-tests/webauthn/remote-desktop-client-override.tentative.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/common-inputs.js: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/utils.js: Added. (base64urlEncode): * LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/w3c-import.log: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/webauthn-subframe.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-all-accepted-credentials.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-current-user-details.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-unknown-credential.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/storecredential.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/w3c-import.log: Added. * LayoutTests/imported/w3c/web-platform-tests/webauthn/webauthn-testdriver-basic.https.html: Added. * LayoutTests/tests-options.json: * Source/WebCore/CMakeLists.txt: * Source/WebCore/DerivedSources-input.xcfilelist: * Source/WebCore/DerivedSources-output.xcfilelist: * Source/WebCore/DerivedSources.make: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp: (WebCore::AuthenticationExtensionsClientInputs::toCBOR const): * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl. * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.idl: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl. * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp: (WebCore::AuthenticationExtensionsClientOutputs::toJSON const): * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.h: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h. * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.idl: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl. * Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl. * Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.idl: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl. * Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.cpp: (WebCore::AuthenticatorAssertionResponse::toJSON): * Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h: * Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp: (WebCore::AuthenticatorAttestationResponse::toJSON): * Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.h: * Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp: (WebCore::AuthenticatorResponse::data const): * Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.h: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl. * Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl. * Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::toJSON): (WebCore::fromJSON): (WebCore::PublicKeyCredential::parseCreationOptionsFromJSON): (WebCore::PublicKeyCredential::parseRequestOptionsFromJSON): * Source/WebCore/Modules/webauthn/PublicKeyCredential.h: * Source/WebCore/Modules/webauthn/PublicKeyCredential.idl: * Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h: (): Deleted. * Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl: * Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h. * Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl: * Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl: * Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.h: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h. * Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl. * Source/WebCore/Modules/webauthn/RegistrationResponseJSON.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl. * Source/WebCore/Modules/webauthn/RegistrationResponseJSON.idl: Copied from Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl. * Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp: (fido::convertRpEntityToCBOR): (fido::convertUserEntityToCBOR): (fido::convertParametersToCBOR): (fido::encodeGetAssertionRequestAsCBOR): * Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp: (fido::convertToU2fRegisterCommand): (fido::convertToU2fCheckOnlySignCommand): * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm: (WebCore::AXRemoteFrame::initializePlatformElementWithRemoteToken): * Source/WebCore/bindings/IDLTypes.h: * Source/WebCore/bindings/js/BufferSource.h: (WebCore::BufferSource::BufferSource): * Source/WebCore/bindings/js/JSDOMConvertBufferSource.h: (WebCore::JSConverter<IDLBufferSource>::convert): (WebCore::toJS): * Source/WebCore/bindings/js/JSDOMConvertUnion.h: (WebCore::Converter<IDLBufferSource>::convert): * Source/WebCore/bindings/js/JSDOMPromiseDeferredForward.h: * Source/WebCore/bindings/scripts/IDLParser.pm: (addBuiltinTypedefs): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (publicKeyCredentialRpEntity): (publicKeyCredentialUserEntity): (publicKeyCredentialParameters): (publicKeyCredentialDescriptors): (authenticatorSelectionCriteria): * Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::WebCore::collectTransports): (WebKit::WebCore::getRpId): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticatorInternal::produceHashSet): (WebKit::LocalAuthenticator::makeCredential): (WebKit::LocalAuthenticator::processClientExtensions): (WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification): (WebKit::LocalAuthenticator::deleteDuplicateCredential const): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::WebAuthenticatorCoordinatorProxy::requestsForRegistration): (WebKit::configureRegistrationRequestContext): * Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::continueSilentlyCheckCredentials): (WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived): * Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: * Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParam)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParamNoUVNoRK)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParamUVRequiredButNotSupported)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParamWithPin)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestRKPreferred)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestRKPreferredNotSupported)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestRKDiscouraged)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestWithLargeBlob)): (TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestWithUnsupportedLargeBlob)): * Tools/TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: (TestWebKitAPI::constructMakeCredentialRequest): (TestWebKitAPI::TEST(U2fCommandConstructorTest, TestConvertCtapMakeCredentialToU2fCheckOnlySign)): (TestWebKitAPI::TEST(U2fCommandConstructorTest, TestConvertCtapMakeCredentialToU2fCheckOnlySignWithInvalidCredentialType)): (TestWebKitAPI::TEST(U2fCommandConstructorTest, TestU2fRegisterCredentialAlgorithmRequirement)): (TestWebKitAPI::TEST(U2fCommandConstructorTest, TestU2fRegisterUserVerificationRequirement)): (TestWebKitAPI::TEST(U2fCommandConstructorTest, TestU2fRegisterResidentKeyRequirement)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST(WebAuthenticationPanel, PublicKeyCredentialCreationOptionsMinimum)): (TestWebKitAPI::TEST(WebAuthenticationPanel, PublicKeyCredentialCreationOptionsMaximumDefault)): (TestWebKitAPI::TEST(WebAuthenticationPanel, PublicKeyCredentialCreationOptionsMaximum1)): (TestWebKitAPI::TEST(WebAuthenticationPanel, PublicKeyCredentialCreationOptionsMaximum2)): Canonical link: https://commits.webkit.org/284627@main
…7-14) https://bugs.webkit.org/show_bug.cgi?id=280794 Reviewed by Tim Nguyen. Upstream commit: web-platform-tests/wpt@c8da6ae * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/websockets/...: Resynced. * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/284628@main
https://bugs.webkit.org/show_bug.cgi?id=280822 rdar://137200143 Reviewed by Tim Nguyen. Upstream commit: web-platform-tests/wpt@db4fbbb * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font.html: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font-ref.html: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mo-glyph-height-with-default-font-expected.html: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mi-automatic-italic-with-default-font.html: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mi-automatic-italic-with-default-font-ref.html: * LayoutTests/imported/w3c/web-platform-tests/mathml/relations/text-and-math/mi-automatic-italic-with-default-font-expected-mismatch.html: Canonical link: https://commits.webkit.org/284629@main
rdar://136444595 https://bugs.webkit.org/show_bug.cgi?id=280148 Reviewed by Antti Koivisto. Implement parsing anchor-size() as a calc() function. * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-fallback-invalidation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-invalid-fallback-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-parse-invalid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-animation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-minmax-001-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-parse-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-size-replaced-001-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-transition-001-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-typed-om-expected.txt: * Source/WebCore/css/CSSProperties.json: Extended grammar of several properties to accept anchor-size() * Source/WebCore/css/CSSValueKeywords.in: Added new value keywords required by anchor-size() * Source/WebCore/css/calc/CSSCalcTree+CalculationValue.cpp: (WebCore::CSSCalc::toCalculationValue): Added toCalculationValue() for AnchorSize * Source/WebCore/css/calc/CSSCalcTree+Evaluation.cpp: (WebCore::CSSCalc::evaluate): Added dummy evaluate() for AnchorSize * Source/WebCore/css/calc/CSSCalcTree+Parser.cpp: (WebCore::CSSCalc::checkDepth): renamed from checkDepthAndIndex. Remove empty token range check, because anchor-size() is valid and allowed. (WebCore::CSSCalc::isCalcFunction): Recognized anchor-size() as a valid calc() function. (WebCore::CSSCalc::consumeAnchorSize): Added function to parse anchor-size() (WebCore::CSSCalc::parseCalcFunction): (WebCore::CSSCalc::parseCalcSum): (WebCore::CSSCalc::parseCalcProduct): (WebCore::CSSCalc::parseCalcValue): (WebCore::CSSCalc::checkDepthAndIndex): Deleted. * Source/WebCore/css/calc/CSSCalcTree+Serialization.cpp: (WebCore::CSSCalc::serializeMathFunctionArguments): Implemented serializeMathFunctionArguments for AnchorSize * Source/WebCore/css/calc/CSSCalcTree+Simplification.cpp: (WebCore::CSSCalc::simplify): Added stub simplify() for AnchorSize * Source/WebCore/css/calc/CSSCalcTree+Simplification.h: * Source/WebCore/css/calc/CSSCalcTree.h: Added new AnchorSize type, representing an anchor-size() * Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.cpp: (WebCore::CSSPropertyParserHelpers::consumeLengthPercentage): * Source/WebCore/css/parser/CSSPropertyParserConsumer+LengthPercentage.h: Added new argument to consumeLengthPercentage that controls parsing of anchor-size() * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeAutoOrLengthPercentage): Added new argument to control parsing of anchor-size() (WebCore::CSSPropertyParserHelpers::consumeMarginSide): Allow parsing anchor-size() (WebCore::CSSPropertyParserHelpers::consumeSide): Allow parsing anchor-size() (WebCore::CSSPropertyParserHelpers::consumeInsetLogicalStartEnd): Allow parsing anchor-size() * Source/WebCore/css/parser/CSSPropertyParserOptions.h: Added a new parsing policy to control whether to allow anchor-size() or not. * Source/WebCore/css/process-css-properties.py: (ReferenceTerm): Added all optional parameters supported by <length-percentage>. Canonical link: https://commits.webkit.org/284630@main
https://bugs.webkit.org/show_bug.cgi?id=279566 Reviewed by Chris Dumez and Darin Adler. Fixed smart pointer static analyzer warnings in NetworkProcess.cpp by deploying more smart pointers. * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::didCommitCrossSiteLoadWithDataTransfer): (WebKit::NetworkProcess::fetchWebsiteData): (WebKit::NetworkProcess::deleteWebsiteData): (WebKit::NetworkProcess::deleteWebsiteDataForOrigin): (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): (WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains): (WebKit::NetworkProcess::registrableDomainsWithWebsiteData): (WebKit::NetworkProcess::findPendingDownloadLocation): (WebKit::NetworkProcess::logDiagnosticMessage): (WebKit::NetworkProcess::logDiagnosticMessageWithResult): (WebKit::NetworkProcess::logDiagnosticMessageWithValue): (WebKit::NetworkProcess::terminateRemoteWorkerContextConnectionWhenPossible): (WebKit::NetworkProcess::storeServiceWorkerRegistrations): (WebKit::NetworkProcess::processNotificationEvent): (WebKit::NetworkProcess::processPushMessage): (WebKit::NetworkProcess::requestBackgroundFetchPermission): * Source/WebKit/NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::ensureProtectedSWServer): * Source/WebKit/NetworkProcess/NetworkSession.h: Canonical link: https://commits.webkit.org/284631@main
https://bugs.webkit.org/show_bug.cgi?id=280806 rdar://133310966 Reviewed by Brent Fulgham. With this patch we will also apply auto space between for according to the ideograph-numeric rule, i.e.: between a ideograph character and a non-ideograph numeral character. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-ideograph-numeric-001-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-ideograph-numeric-001-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-autospace/text-autospace-ideograph-numeric-001.html: Added. * Source/WebCore/platform/text/TextSpacing.cpp: (WebCore::TextAutospace::shouldApplySpacing const): Canonical link: https://commits.webkit.org/284632@main
https://bugs.webkit.org/show_bug.cgi?id=280840 Unreviewed build fix. Missing <optional> header breaks Debian Stable build. * Source/WebCore/platform/graphics/ContentsFormat.h: Canonical link: https://commits.webkit.org/284633@main
…ardScrollingAnimator::scrollingDirections() https://bugs.webkit.org/show_bug.cgi?id=280777 rdar://137147372 Reviewed by Richard Robinson. rubberBandableDirections in KeyboardScrollingAnimator does not control rubber banding. It actually controls regular scrollable directions. * Source/WebCore/platform/KeyboardScrollingAnimator.cpp: (WebCore::KeyboardScrollingAnimator::scrollingDirections const): (WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture): (WebCore::KeyboardScrollingAnimator::rubberbandableDirections const): Deleted. * Source/WebCore/platform/KeyboardScrollingAnimator.h: Canonical link: https://commits.webkit.org/284634@main
…where(:scope) https://bugs.webkit.org/show_bug.cgi?id=280544 rdar://136856371 Reviewed by Sammy Gill. w3c/csswg-drafts#10431 This patch maintains a stack during rule set building to be able to determine whether the closest ancestor rule is a style rule or a scope rule, and to resolve the nesting parent selector & appropriately (:is(<parent>) or :where(:scope)). * LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nested-declarations-matching-expected.txt: * Source/WebCore/style/RuleSetBuilder.cpp: (WebCore::Style::RuleSetBuilder::addChildRule): (WebCore::Style::RuleSetBuilder::resolveSelectorListWithNesting): (WebCore::Style::RuleSetBuilder::addStyleRule): * Source/WebCore/style/RuleSetBuilder.h: Canonical link: https://commits.webkit.org/284635@main
https://bugs.webkit.org/show_bug.cgi?id=280655 rdar://137009069 Reviewed by Antoine Quint. Implement parsing of view timeline inset if set via the ViewTimelineOptions, and adjust computeViewTimelineData to use insets. * Source/WebCore/animation/ViewTimeline.cpp: (WebCore::lengthForInset): (WebCore::insetsFromString): (WebCore::insetsFromOptions): (WebCore::ViewTimeline::ViewTimeline): (WebCore::ViewTimeline::computeViewTimelineData const): (WebCore::ViewTimeline::currentTime): * Source/WebCore/animation/ViewTimeline.h: Canonical link: https://commits.webkit.org/284636@main
https://bugs.webkit.org/show_bug.cgi?id=280586 Reviewed by Brian Weinstein. WECG issue: w3c/webextensions#252 WECG proposal: w3c/webextensions#569 Also changed the i18n APIs to return `"und"` instead of `undefined` when there is no language code. * Source/WebKit/Platform/spi/Cocoa/FoundationSPI.h: * Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm: (WebKit::toWebAPI): Return "und" where then is no language code. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPILocalizationCocoa.mm: (WebKit::WebExtensionAPILocalization::getPreferredSystemLanguages): (WebKit::WebExtensionAPILocalization::getSystemUILanguage): * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPILocalization.h: * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPILocalization.idl: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPILocalization.mm: (TestWebKitAPI::localeStringInWebExtensionFormat): Return "und". (TestWebKitAPI::TEST(WKWebExtensionAPILocalization, i18n)): (TestWebKitAPI::TEST(WKWebExtensionAPILocalization, i18nWithFallback)): (TestWebKitAPI::TEST(WKWebExtensionAPILocalization, i18nWithoutMessages)): (TestWebKitAPI::TEST(WKWebExtensionAPILocalization, i18nWithoutDefaultLocale)): Canonical link: https://commits.webkit.org/284637@main
https://bugs.webkit.org/show_bug.cgi?id=280715 rdar://136672126 Reviewed by Mike Wyrzykowski. Re-implement Queue::writeBuffer using a Swift implementation. It is still using some underlying utilities from the C++ implementation but that can only be moved over once Swift implements the whole class and has ownership of underlying objects. Testing: Manual at desk builds with --webGpuSwift and running the Buffer and Queue tests. Then Run writeBuffer.html test. * Source/WTF/wtf/RefCounted.h: (retainRefCounted): Deleted. (releaseRefCounted): Deleted. * Source/WTF/wtf/RetainReleaseSwift.h: * Source/WTF/wtf/ThreadSafeRefCounted.h: (retainThreadSafeRefCounted): Deleted. (releaseThreadSafeRefCounted): Deleted. * Source/WTF/wtf/ThreadSafeWeakPtr.h: (WTF::retainThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr): (WTF::releaseThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr): * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU/Buffer.h: (retainBuffer): (releaseBuffer): * Source/WebGPU/WebGPU/Device.h: (retainDevice): (releaseDevice): * Source/WebGPU/WebGPU/Queue.h: (WebGPU::Queue::blitCommandEncoder): (retainQueue): (releaseQueue): * Source/WebGPU/WebGPU/Queue.swift: (WebGPU.writeBuffer(_:bufferOffset:data:)): (writeBuffer(_:buffer:offset:data:)): Deleted. * Source/WebGPU/WebGPU/WebGPUExt.h: Canonical link: https://commits.webkit.org/284638@main
neowin.net: 'share' drop-down layout is broken and overlaps
https://bugs.webkit.org/show_bug.cgi?id=275290
<rdar://problem/129445546>
Reviewed by Antti Koivisto.
Floats, somewhat surprisingly may overlap each other, but only when an already placed float coming from outside of
the current containing block does not overlap the containing block's content box.
In such cases, newly placed floats may overlap such non-intrusive floats at their non-floating side.
e.g.
F - float box
C - containing block for (F)
N - non-overlapping box, sibling of C, also float but not overlapping C's content box.
<div id=N style="width: 20px; float: left"></div>
<div id=C style="width: 100px; padding-left: 20px">
<div id=F style="width: 200px; float: right">
_____
|N | This is where (C)'s content box starts (see padding-left: 20px)
|_____|_|____________________
|C ___|_|__________________ |
| | | | F||
| | | | ||
| | | | ||
| |___|_|__________________||
|_____|_|___________________|
| |
|_____|
Note that (F) float box overlaps (N -also float) with its non-floating (left) side.
* Source/WebCore/layout/floats/FloatingContext.cpp:
(WebCore::Layout::findAvailablePosition):
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::findPositionForFormattingContextRoot const):
* Source/WebCore/layout/floats/FloatingContext.h:
Canonical link: https://commits.webkit.org/279867@main
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integration has hit a merge conflict while integrating rdar://136988841 to main.