[webkit-changes] [WebKit/WebKit] 1633be: More adoption of dynamicDowncast<> in assorted lay...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1633be9a5c726d0044aa7cfd2f0b6e6b7a36c7fe https://github.com/WebKit/WebKit/commit/1633be9a5c726d0044aa7cfd2f0b6e6b7a36c7fe Author: Anne van Kesteren Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h M Source/WebCore/layout/integration/inline/LayoutIntegrationBoxGeometryUpdater.cpp M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp M Source/WebCore/layout/layouttree/LayoutBox.cpp M Source/WebCore/layout/layouttree/LayoutIterator.h M Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp Log Message: --- More adoption of dynamicDowncast<> in assorted layout code https://bugs.webkit.org/show_bug.cgi?id=269983 Reviewed by Alan Baradlay. Improving security & performance. * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::collectInlineItems): (WebCore::Layout::buildBidiParagraph): * Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp: (WebCore::Layout::inlineItemPositionForDisplayBox): (WebCore::Layout::inlineItemPositionForDamagedContentPosition): * Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp: (WebCore::LayoutIntegration::elementAttributes): (WebCore::LayoutIntegration::BoxTree::~BoxTree): (WebCore::LayoutIntegration::BoxTree::adjustStyleIfNeeded): (WebCore::LayoutIntegration::BoxTree::createLayoutBox): * Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp: (WebCore::InlineIterator::TextBox::fontCascade const): (WebCore::InlineIterator::TextBox::isCombinedText const): Deleted. Inline isCombinedText() as it only has a single caller. * Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h: * Source/WebCore/layout/integration/inline/LayoutIntegrationBoxGeometryUpdater.cpp: (WebCore::LayoutIntegration::BoxGeometryUpdater::updateLayoutBoxDimensions): (WebCore::LayoutIntegration::BoxGeometryUpdater::setGeometriesForLayout): (WebCore::LayoutIntegration::BoxGeometryUpdater::setGeometriesForIntrinsicWidth): * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::blockContainer): (WebCore::LayoutIntegration::LineLayout::containing): (WebCore::LayoutIntegration::LineLayout::hitTest): (WebCore::LayoutIntegration::LineLayout::insertedIntoTree): (WebCore::LayoutIntegration::LineLayout::removedFromTree): * Source/WebCore/layout/layouttree/LayoutBox.cpp: (WebCore::Layout::Box::establishesInlineFormattingContext const): (WebCore::Layout::Box::isOverflowVisible const): * Source/WebCore/layout/layouttree/LayoutIterator.h: (WebCore::Layout::LayoutBoxTraversal::firstChild): * Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp: (WebCore::Layout::TreeBuilder::createLayoutBox): (WebCore::Layout::TreeBuilder::buildSubTree): (WebCore::Layout::outputLayoutBox): (WebCore::Layout::outputLayoutTree): Canonical link: https://commits.webkit.org/275275@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e52382: Generate Interaction Regions for SVG shapes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e52382b155e1f394a9f7817de0fc3cfe4b6a4bc3 https://github.com/WebKit/WebKit/commit/e52382b155e1f394a9f7817de0fc3cfe4b6a4bc3 Author: Etienne Segonzac Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: A LayoutTests/interaction-region/svg-expected.txt A LayoutTests/interaction-region/svg.html M Source/WebCore/page/InteractionRegion.cpp M Source/WebCore/rendering/EventRegion.cpp M Source/WebCore/rendering/RenderReplaced.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp Log Message: --- Generate Interaction Regions for SVG shapes https://bugs.webkit.org/show_bug.cgi?id=269916 Reviewed by Mike Wyrzykowski. Enter SVG renderers during the EventRegion paint phase so we can find Interaction Regions for SVG shapes. Then generate matching clip paths for the corresponding InteractionRegion layers. * Source/WebCore/page/InteractionRegion.cpp: (WebCore::interactionRegionForRenderedRegion): Generate Interaction Regions with the proper clip path for SVG shapes. * Source/WebCore/rendering/EventRegion.cpp: (WebCore::guardRectForRegionBounds): (WebCore::EventRegionContext::uniteInteractionRegions): Add a non-inflated guard for complex shapes to make hit-testing more reliable. * Source/WebCore/rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): Detect SVG roots and enter during the EventRegion paint phase. * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGContainer.cpp: (WebCore::LegacyRenderSVGContainer::paint): Apply the paint transform to the event region context. * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRoot.cpp: (WebCore::LegacyRenderSVGRoot::paintReplaced): Apply the paint transform and viewport clipping to the event region context. * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGShape.cpp: (WebCore::LegacyRenderSVGShape::paint): Check for Interaction Regions using the fill bounding box. * LayoutTests/interaction-region/svg-expected.txt: Added. * LayoutTests/interaction-region/svg.html: Added. Add a new test covering various SVG scenarios (shapes, transforms, clipping...). Canonical link: https://commits.webkit.org/275276@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 74eb9e: Unreviewed, fix the internal iOS build 275273@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 74eb9ea2912b34ee607b768f704e4d5df4c1e7f1 https://github.com/WebKit/WebKit/commit/74eb9ea2912b34ee607b768f704e4d5df4c1e7f1 Author: Wenson Hsieh Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebKit/Configurations/WebKit.xcconfig M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm M Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig M Tools/TestWebKitAPI/cocoa/TestWKWebView.mm Log Message: --- Unreviewed, fix the internal iOS build 275273@main Ensure that ToT is compatible with both versions of the SDK that contain the latest version of BrowserEngineKit, and slightly older versions of the SDK that don't contain BrowserEngineKit. * Source/WebKit/Configurations/WebKit.xcconfig: * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: * Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * Tools/TestWebKitAPI/cocoa/TestWKWebView.mm: Canonical link: https://commits.webkit.org/275277@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5f585d: HTMLDataListElement::childrenChanged doesn't call ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5f585dd134e1203d50298a649b3ae22823f3a631 https://github.com/WebKit/WebKit/commit/5f585dd134e1203d50298a649b3ae22823f3a631 Author: Ryosuke Niwa Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/dom/ContainerNode.cpp Log Message: --- HTMLDataListElement::childrenChanged doesn't call HTMLElement::childrenChanged https://bugs.webkit.org/show_bug.cgi?id=269959 Unreviewed ASAN release build fix. * Source/WebCore/dom/ContainerNode.cpp: (WebCore::ContainerNode::removeAllChildrenWithScriptAssertion): Canonical link: https://commits.webkit.org/275278@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8f9c2f: [WinCairo] Unreviewed test gardening
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8f9c2f3761bff34e8ce6e4030d849f8f4872d2f6 https://github.com/WebKit/WebKit/commit/8f9c2f3761bff34e8ce6e4030d849f8f4872d2f6 Author: Fujii Hironori Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M LayoutTests/platform/wincairo/TestExpectations Log Message: --- [WinCairo] Unreviewed test gardening * LayoutTests/platform/wincairo/TestExpectations: Canonical link: https://commits.webkit.org/275279@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aa1a84: [JSC] Add StringOrOther speculation against ToPrim...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aa1a84a4b6aae5967a7a18b2d9bcca1c87f37129 https://github.com/WebKit/WebKit/commit/aa1a84a4b6aae5967a7a18b2d9bcca1c87f37129 Author: Yusuke Suzuki Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: A JSTests/microbenchmarks/string-or-other-add.js M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h M Source/JavaScriptCore/dfg/DFGClobberize.h M Source/JavaScriptCore/dfg/DFGDoesGC.cpp M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp M Source/JavaScriptCore/dfg/DFGMayExit.cpp M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp M Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp Log Message: --- [JSC] Add StringOrOther speculation against ToPrimitive / ToString https://bugs.webkit.org/show_bug.cgi?id=270028 rdar://123538433 Reviewed by Alexey Shvayka. This patch further optimizes `value + ""` pattern. Now, we observed StringOrOther case super frequently. So we should have optimization for that. 1. Add ToPrimitive(StringOrOtherUse). Then it can be converted to Identity since both are already primitives. 2. Add ToString(StringOrOtherUse). It checks String or Other and returns strings without calling any functions. ToT Patched string-or-other-add 355.4531+-0.8540 ^ 72.8445+-0.0395 ^ definitely 4.8796x faster * JSTests/microbenchmarks/string-or-other-add.js: Added. (shouldBe): (test): * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * Source/JavaScriptCore/dfg/DFGClobberize.h: (JSC::DFG::clobberize): * Source/JavaScriptCore/dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * Source/JavaScriptCore/dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupToPrimitive): (JSC::DFG::FixupPhase::fixupToStringOrCallStringConstructor): (JSC::DFG::FixupPhase::fixupStringValueOf): * Source/JavaScriptCore/dfg/DFGMayExit.cpp: * Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp: * Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): Canonical link: https://commits.webkit.org/275280@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 88f5d6: Do not reparse the same URL repeatedly for HTMLIma...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 88f5d6430abe12164eec7acf3a0993ef1ec67d0a https://github.com/WebKit/WebKit/commit/88f5d6430abe12164eec7acf3a0993ef1ec67d0a Author: Yusuke Suzuki Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WTF/wtf/URL.cpp M Source/WTF/wtf/URL.h M Source/WTF/wtf/text/StringView.h M Source/WebCore/Modules/fetch/FetchLoader.cpp M Source/WebCore/Modules/reporting/ReportingScope.cpp M Source/WebCore/html/HTMLImageElement.cpp M Source/WebCore/html/HTMLImageElement.h M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/html/parser/HTMLPreloadScanner.cpp M Source/WebCore/html/parser/HTMLSrcsetParser.cpp M Source/WebCore/html/parser/HTMLSrcsetParser.h M Source/WebCore/loader/CrossOriginAccessControl.cpp M Source/WebCore/loader/CrossOriginAccessControl.h M Source/WebCore/loader/CrossOriginPreflightChecker.cpp M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/loader/ImageLoader.cpp M Source/WebCore/loader/LinkLoader.cpp M Source/WebCore/loader/PingLoader.cpp M Source/WebCore/loader/SubframeLoader.cpp M Source/WebCore/loader/SubframeLoader.h M Source/WebCore/loader/SubresourceLoader.cpp M Source/WebCore/loader/WorkerThreadableLoader.cpp M Source/WebCore/loader/cache/CachedResourceRequest.cpp M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/SecurityPolicy.cpp M Source/WebCore/page/SecurityPolicy.h M Source/WebCore/page/csp/ContentSecurityPolicy.cpp M Source/WebCore/platform/network/ResourceRequestBase.cpp M Source/WebKit/WebProcess/Plugins/PluginView.cpp Log Message: --- Do not reparse the same URL repeatedly for HTMLImageElement src attribute setter https://bugs.webkit.org/show_bug.cgi?id=269975 rdar://123492927 Reviewed by Ryosuke Niwa. This patch cleans up a lot of HTMLImageElement src attribute setter path. 1. HTMLImageElement should not make m_currentSrc AtomString eagerly. This is rarely accessed. So we should defer it. 2. HTMLImageElement should have super fast path for no `sizes` attribute case since this is common. We should not invoke SizesAttributeParser. 3. ImageCandidate should carry underlying AtomString if possible. Attributes are AtomString. So by carrying it, we can avoid AtomString creation for `m_bestFitImageURL = candidate.string.toAtomString()`. 4. We should use HTMLImageElement::currentURL if possible in ImageLoader, avoiding repeated parsing of the same URL string. 5. FrameLoader should keep m_outgoingReferrerURL. Then subsequent code can use this URL instead of parsing it repeatedly. We enhance URL::strippedForUseAsReferrer to further avoid reparsing URL from stripped string. * Source/WTF/wtf/URL.cpp: (WTF::URL::strippedForUseAsReferrer const): (WTF::URL::strippedForUseAsReferrerWithExplicitPort const): * Source/WTF/wtf/URL.h: * Source/WTF/wtf/text/StringView.h: (WTF::StringViewWithUnderlyingString::toAtomString const): * Source/WebCore/Modules/fetch/FetchLoader.cpp: (WebCore::FetchLoader::start): * Source/WebCore/Modules/reporting/ReportingScope.cpp: (WebCore::ReportingScope::generateTestReport): * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::currentSrc): (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate): (WebCore::HTMLImageElement::selectImageSource): * Source/WebCore/html/HTMLImageElement.h: (WebCore::HTMLImageElement::currentSrc const): Deleted. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerReferrer const): * Source/WebCore/html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): * Source/WebCore/html/parser/HTMLSrcsetParser.cpp: (WebCore::parseImageCandidatesFromSrcsetAttribute): (WebCore::pickBestImageCandidate): (WebCore::bestFitSourceForImageAttributes): * Source/WebCore/html/parser/HTMLSrcsetParser.h: (WebCore::ImageCandidate::ImageCandidate): (WebCore::ImageCandidate::isEmpty const): * Source/WebCore/loader/CrossOriginAccessControl.cpp: (WebCore::updateRequestReferrer): * Source/WebCore/loader/CrossOriginAccessControl.h: * Source/WebCore/loader/CrossOriginPreflightChecker.cpp: (WebCore::CrossOriginPreflightChecker::doPreflight): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::setOutgoingReferrer): (WebCore::FrameLoader::outgoingReferrerURL): (WebCore::FrameLoader::loadFrameRequest): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::createWindow): * Source/WebCore/loader/FrameLoader.h: * Source/WebCore/loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): * Source/WebCore/loader/LinkLoader.cpp: (WebCore::LinkLoader::preloadIfNeeded): * Source/WebCore/loader/PingLoader.cpp: (WebCore::PingLoader::loadImage): (WebCore::PingLoader::sendViolationReport): * Source/WebCore/loader/SubframeLoader.cpp: (WebCore::FrameLoader::S
[webkit-changes] [WebKit/WebKit] 669e17: Fix the USE(APPLE_INTERNAL_SDK) && !HAVE(COREGRAPH...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 669e1725e5931afab08571ac5a974091f8519a0a https://github.com/WebKit/WebKit/commit/669e1725e5931afab08571ac5a974091f8519a0a Author: Tim Horton Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h Log Message: --- Fix the USE(APPLE_INTERNAL_SDK) && !HAVE(COREGRAPHICS_WITH_PDF_AREA_OF_INTEREST_SUPPORT) build https://bugs.webkit.org/show_bug.cgi?id=270036 Unreviewed speculative build fix. * Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h: Canonical link: https://commits.webkit.org/275282@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bb7f81: Re-import dialog element WPT tests
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bb7f816988c6ad8bb3b36c145e05c36ae7cb6a45 https://github.com/WebKit/WebKit/commit/bb7f816988c6ad8bb3b36c145e05c36ae7cb6a45 Author: Luke Warlow Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/WEB_FEATURES.yml M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-stacking-order.html A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute-expected.txt A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-previous-outside.html A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusability-expected.txt A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusability.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-generated-content.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-display-none.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-nesting.html A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-remove-popover-attribute-expected.html A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-remove-popover-attribute-ref.html A LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-remove-popover-attribute.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/top-layer-stacking-dynamic.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log Log Message: --- Re-import dialog element WPT tests https://bugs.webkit.org/show_bug.cgi?id=270017 Reviewed by Anne van Kesteren. Upstream commit: https://github.com/web-platform-tests/wpt/commit/da26ae6760f4034af286c04f2a9ea81239823982 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/WEB_FEATURES.yml: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-stacking-order.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focus-previous-outside.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusability-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-focusability.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-generated-content.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-selection-expected.txt: * LayoutTests/imported/w3c/web-platform-te
[webkit-changes] [WebKit/WebKit] 942323: Further fix the USE(APPLE_INTERNAL_SDK) && !HAVE(C...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 942323290b0072b7ef9344e7c2860b54c9e1419c https://github.com/WebKit/WebKit/commit/942323290b0072b7ef9344e7c2860b54c9e1419c Author: Tim Horton Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h Log Message: --- Further fix the USE(APPLE_INTERNAL_SDK) && !HAVE(COREGRAPHICS_WITH_PDF_AREA_OF_INTEREST_SUPPORT) build https://bugs.webkit.org/show_bug.cgi?id=270038 Unreviewed speculative additional build fix. * Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h: Canonical link: https://commits.webkit.org/275284@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b39392: REGRESSION (iOS 17.2) Script can not always start ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b39392ba956ea7216e38fc3ae39689556a8a524d https://github.com/WebKit/WebKit/commit/b39392ba956ea7216e38fc3ae39689556a8a524d Author: Eric Carlson Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M LayoutTests/media/audio-background-playback-playlist-expected.txt M LayoutTests/media/audio-background-playback-playlist.html M Source/WebCore/html/MediaElementSession.cpp M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp M Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp Log Message: --- REGRESSION (iOS 17.2) Script can not always start audio playback in the background https://bugs.webkit.org/show_bug.cgi?id=269938 rdar://121268089 Reviewed by Andy Estes. Don't deactivate the media activity during the 10 second foreground activity "grace period" so script has a chance to start playback, e.g. for a playlist, when the application is in the background. * LayoutTests/media/audio-background-playback-playlist-expected.txt: * LayoutTests/media/audio-background-playback-playlist.html: Update test to wait for the 'error' event before checking NowPlaying eligibility. * Source/WebCore/html/MediaElementSession.cpp: (WebCore::MediaElementSession::canShowControlsManager const): Don't say an element that has a source and is not in an error state is ineligible to activate NowPlaying if we are already registered as the NowPlaying app. * Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::maybeActivateAudioSession): Log when we return `false` because an active audio session is not needed to make future debugging easier. * Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm: (WebCore::AudioSessionCocoa::tryToSetActiveInternal): Log when activating or deactivating the audio session fails. * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setMediaCapability): log when the media capability is cleared. (WebKit::WebPageProxy::shouldDeactivateMediaCapability const): Return false if there is valid audio activity so we wait to deactivate the capability while the foreground activity timer is active. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateThrottleState): Log when starting or stopping the foreground activity "grace period" timer. (WebKit::WebPageProxy::clearAudibleActivity): Fix logging. Call `updateMediaCapability`. (WebKit::WebPageProxy::hasValidAudibleActivity const): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::clearAudibleActivity): Add logging. (WebKit::WebProcessPool::updateAudibleMediaAssertions): Clarify log message. Canonical link: https://commits.webkit.org/275285@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cb875e: Refactor TextExtraction support in WKWebView to us...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cb875ef24116b4a39bab32f2aec4bdb16ebdf16f https://github.com/WebKit/WebKit/commit/cb875ef24116b4a39bab32f2aec4bdb16ebdf16f Author: Wenson Hsieh Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h M Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h M Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift Log Message: --- Refactor TextExtraction support in WKWebView to use a promise instead of a Swift block https://bugs.webkit.org/show_bug.cgi?id=270031 rdar://123542653 Reviewed by Richard Robinson and Abrar Rahman Protyasha. Refactor this code to use a dedicated object (`WKTextExtractionRequest`) used to represent an asynchronously-fulfilled promise, rather than taking a completion handler directly. As it turns out, completion handler blocks in Swift-only API end up getting passed as `nil` into Objective-C methods expecting blocks, when using `perform(with:…:)` to invoke ObjC-exposed selectors. * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _requestTextExtractionForSwift:]): Wrap the existing call to request text extraction. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h: * Source/WebKit/UIProcess/Cocoa/WKTextExtractionItem.h: * Source/WebKit/WebKitSwift/TextExtraction/WKTextExtractionItem.swift: (WKTextExtractionRequest.completionHandler): (WKTextExtractionRequest.fulfill(_:)): Canonical link: https://commits.webkit.org/275286@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bcb2f8: [UnifiedPDF] Cursor updates are incorrect over tex...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bcb2f892a5d1c79d21b6df3222186a81f014e059 https://github.com/WebKit/WebKit/commit/bcb2f892a5d1c79d21b6df3222186a81f014e059 Author: Abrar Rahman Protyasha Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm Log Message: --- [UnifiedPDF] Cursor updates are incorrect over text/image elements for untagged PDFs. https://bugs.webkit.org/show_bug.cgi?id=265908 rdar://119217538 Reviewed by Tim Horton. The CGPDFPageLayoutGetAreaOfInterestAtPoint interface does not correctly identify text/image elements on Untagged PDF files. This made our hit test results incomplete on said PDF files. To address this issue, we adopt new PDFPage API `areaOfInterestAtPoint`, which not only hit tests for annotations, but also for text and image on a page, thus subsuming both -[PDFPage annotationAtPoint:] and CGPDFPageLayoutGetAreaOfInterestAtPoint while maintaining correctness across tagged and untagged PDFs. * Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h: * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: (WebKit::UnifiedPDFPlugin::pdfElementTypesForPluginPoint const): Canonical link: https://commits.webkit.org/275287@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d26e92: [iOS] Element fullscreen window should not support...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d26e92fa4929bcb060871bda4d299dd0ea151a51 https://github.com/WebKit/WebKit/commit/d26e92fa4929bcb060871bda4d299dd0ea151a51 Author: Andy Estes Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm Log Message: --- [iOS] Element fullscreen window should not support pinch-to-dismiss https://bugs.webkit.org/show_bug.cgi?id=270001 rdar://122838328 Reviewed by Jer Noble. For parity with AVPlayerViewController on iOS, remove support for dismissing the element fullscreen window via pinch gesture. Pan dismissal remains supported. * Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm: (-[WKFullScreenWindowController enterFullScreen:]): (-[WKFullScreenWindowController interactionControllerForDismissal:]): (-[WKFullScreenWindowController _interactiveDismissChanged:]): (-[WKFullScreenWindowController _interactivePinchDismissChanged:]): Deleted. Canonical link: https://commits.webkit.org/275288@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 463c4d: [Unified PDF] Document turns blank white, flashes ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 463c4d367dff65f9fdfda6ad0726d27c3a900f25 https://github.com/WebKit/WebKit/commit/463c4d367dff65f9fdfda6ad0726d27c3a900f25 Author: Simon Fraser Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/platform/graphics/TiledBacking.h M Source/WebCore/platform/graphics/ca/TileController.cpp M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm Log Message: --- [Unified PDF] Document turns blank white, flashes / flickers, while scrolling/zooming https://bugs.webkit.org/show_bug.cgi?id=270042 rdar://123458964 Reviewed by Tim Horton. With async tile rendering, we don't always have tiles to paint for a given rect, resulting in flashing, e.g. when resizing the window or zooming. Ameliorate this by generating a preview for each page, and painting this when we don't have tiles. Currently we generate previews at 0.5x scale for a 1x page scale. AsyncPDFRenderer takes care of generating page previews, using a new callback from the TiledBacking client when page coverage changes. The page previews are generated on the concurrent work queue. Unlike tiles, these page previews are not invalidate on configuration changes (there's a FIXME to update them when PDF content changes). * Source/WebCore/platform/graphics/TiledBacking.h: * Source/WebCore/platform/graphics/ca/TileController.cpp: (WebCore::TileController::setCoverageRect): * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h: * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm: (WebKit::AsyncPDFRenderer::generatePreviewImageForPage): (WebKit::AsyncPDFRenderer::removePreviewForPage): (WebKit::AsyncPDFRenderer::paintPagePreviewOnWorkQueue): (WebKit::AsyncPDFRenderer::previewImageForPage const): (WebKit::AsyncPDFRenderer::coverageRectDidChange): (WebKit::AsyncPDFRenderer::paintPDFPageIntoBuffer): (WebKit::AsyncPDFRenderer::paintTilesForPage): (WebKit::AsyncPDFRenderer::updateTilesForPaintingRect): (WebKit::AsyncPDFRenderer::paintTilesForPaintingRect): Deleted. * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h: * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: (WebKit::UnifiedPDFPlugin::paintPDFContent): drawingRect was unused. Move documentScale out of the loop. Rename pageBoundsInDocumentCoordinates. (WebKit::UnifiedPDFPlugin::heightForPageAtIndex const): Rename. (WebKit::UnifiedPDFPlugin::firstPageHeight const): (WebKit::UnifiedPDFPlugin::layoutBoundsForPageAtIndex const): (WebKit::UnifiedPDFPlugin::scrollToPDFDestination): (WebKit::UnifiedPDFPlugin::heightForPage const): Deleted. Canonical link: https://commits.webkit.org/275289@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ba3ffc: AX: VoiceOver frames are broken on ToT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ba3ffca7609bd2c823e50a5f35e72a516a848928 https://github.com/WebKit/WebKit/commit/ba3ffca7609bd2c823e50a5f35e72a516a848928 Author: Joshua Hoffman Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp Log Message: --- AX: VoiceOver frames are broken on ToT https://bugs.webkit.org/show_bug.cgi?id=270023 rdar://problem/123534425 Reviewed by Chris Fleizach. After 274955@main, we never returned cached relative frames, resulting in all frames being the same as the WebArea's. This patch fixes frames, and resolves the failing test, initial-relative-frame-cached.html. * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::relativeFrame const): Canonical link: https://commits.webkit.org/275290@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d102bc: Downstream libavif 1.0.3
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d102bc345038f90db9ed1f3d16c42f4843f33f7c https://github.com/WebKit/WebKit/commit/d102bc345038f90db9ed1f3d16c42f4843f33f7c Author: Said Abou-Hallawa Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/PAL/ThirdParty/libavif/CHANGELOG.md M Source/WebCore/PAL/ThirdParty/libavif/CMakeLists.txt M Source/WebCore/PAL/ThirdParty/libavif/Configurations/BaseTarget.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/LICENSE M Source/WebCore/PAL/ThirdParty/libavif/README.md A Source/WebCore/PAL/ThirdParty/libavif/SECURITY.md M Source/WebCore/PAL/ThirdParty/libavif/android_jni/README.md M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/build.gradle M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/proguard-rules.pro A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/AndroidManifest.xml A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/README.md A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/animated_avif/Chimera-AV1-10bit-480x270.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/animated_avif/alpha_video.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/blue-and-magenta-crop.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.10bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.10bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.8bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.8bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile1.10bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile1.8bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.10bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.8bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/java/org/aomedia/avif/android/AvifDecoderTest.java A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/proguard-rules.pro M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/AndroidManifest.xml M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/java/org/aomedia/avif/android/AvifDecoder.java M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/jni/CMakeLists.txt M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc M Source/WebCore/PAL/ThirdParty/libavif/android_jni/build.gradle A Source/WebCore/PAL/ThirdParty/libavif/android_jni/gradle/wrapper/gradle-wrapper.jar M Source/WebCore/PAL/ThirdParty/libavif/android_jni/gradle/wrapper/gradle-wrapper.properties M Source/WebCore/PAL/ThirdParty/libavif/apps/avifdec.c M Source/WebCore/PAL/ThirdParty/libavif/apps/avifenc.c A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/.clang-format A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/avifgainmaputil.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/combine_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/combine_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/convert_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/convert_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/extractgainmap_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/extractgainmap_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/imageio.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/imageio.h A Sour