Branch: refs/heads/webkitglib/2.48 Home: https://github.com/WebKit/WebKit Commit: 1ea8027adcf3e1cdccdfae7d5b52a4aad9c8f896 https://github.com/WebKit/WebKit/commit/1ea8027adcf3e1cdccdfae7d5b52a4aad9c8f896 Author: Jean-Yves Avenard <j...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025)
Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp Log Message: ----------- Cherry-pick 291480@main (1fa7aa721e41). https://bugs.webkit.org/show_bug.cgi?id=288948 com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLMediaElement::removeVideoTrack https://bugs.webkit.org/show_bug.cgi?id=288948 rdar://145510693 Reviewed by Tim Nguyen. Fix bad copy/paste typo. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removeTextTrack): (WebCore::HTMLMediaElement::removeVideoTrack): Canonical link: https://commits.webkit.org/291480@main Canonical link: https://commits.webkit.org/290945.8@webkitglib/2.48 Commit: 2e6ed01ef7b73043f50d0038441d4213757fcf6d https://github.com/WebKit/WebKit/commit/2e6ed01ef7b73043f50d0038441d4213757fcf6d Author: Adrian Perez de Castro <ape...@igalia.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/platform/SimpleCaretAnimator.cpp Log Message: ----------- Cherry-pick 291555@main (09ad2dad9a7a). https://bugs.webkit.org/show_bug.cgi?id=289007 REGRESSION(262954@main): [GTK] Attempts access to disengaged optional with caret blinking disabled https://bugs.webkit.org/show_bug.cgi?id=289007 Reviewed by Carlos Garcia Campos. * Source/WebCore/platform/SimpleCaretAnimator.cpp: (WebCore::SimpleCaretAnimator::updateAnimationProperties): Always return early when caret blinking is suspended, regardless of the current blinking state; but nevertheless still schedule toggling the visibility if needed. Canonical link: https://commits.webkit.org/291555@main Canonical link: https://commits.webkit.org/290945.9@webkitglib/2.48 Commit: 9d36a951d14cb25a5cf2683c2e04b86bdadeb2b3 https://github.com/WebKit/WebKit/commit/9d36a951d14cb25a5cf2683c2e04b86bdadeb2b3 Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/JavaScriptCore/heap/CompleteSubspace.cpp M Source/JavaScriptCore/heap/IsoSubspace.cpp M Source/JavaScriptCore/heap/MarkedSpace.cpp M Source/JavaScriptCore/heap/MarkedSpace.h M Source/JavaScriptCore/heap/PreciseSubspace.cpp Log Message: ----------- Cherry-pick 291381@main (a6bd280ee534). https://bugs.webkit.org/show_bug.cgi?id=288854 [JSC] Fix a bug not calling didAllocate for PreciseAllocation (from 290699@main) https://bugs.webkit.org/show_bug.cgi?id=288854 rdar://145872082 Reviewed by Yijia Huang. 290699@main accidentally removed didAllocate call for PreciseAllocation. This patch fixes it. Also we use non default parameter to make isNewAllocation parameter more explicit from the caller side. * Source/JavaScriptCore/heap/CompleteSubspace.cpp: (JSC::CompleteSubspace::tryAllocateSlow): * Source/JavaScriptCore/heap/IsoSubspace.cpp: (JSC::IsoSubspace::tryAllocateLowerTierPrecise): * Source/JavaScriptCore/heap/MarkedSpace.cpp: (JSC::MarkedSpace::registerPreciseAllocation): * Source/JavaScriptCore/heap/MarkedSpace.h: * Source/JavaScriptCore/heap/PreciseSubspace.cpp: (JSC::PreciseSubspace::tryAllocate): Canonical link: https://commits.webkit.org/291381@main Canonical link: https://commits.webkit.org/290945.10@webkitglib/2.48 Commit: 0f2e067916d2d07822e67913a2e19a95bbfb136d https://github.com/WebKit/WebKit/commit/0f2e067916d2d07822e67913a2e19a95bbfb136d Author: Philippe Normand <ph...@igalia.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp Log Message: ----------- Cherry-pick 291316@main (7ba4483acaf3). https://bugs.webkit.org/show_bug.cgi?id=286527 [GStreamer] Incorrect uses of StringView::rawCharacters() https://bugs.webkit.org/show_bug.cgi?id=286527 Reviewed by Xabier Rodriguez-Calvar. Our use of StringView::rawCharacters() is incorrect, its value being lifetime bound, so instead, convert the StringView to a local CString and refer to its data. * Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp: (WebCore::GStreamerRegistryScanner::isContentTypeSupported const): * Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp: (WebCore::retrieveTemporalIndex): * Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: (transformCaps): * Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp: (WebCore::AppendPipeline::appsinkCapsChanged): Canonical link: https://commits.webkit.org/291316@main Canonical link: https://commits.webkit.org/290945.11@webkitglib/2.48 Commit: d261d3f54b97f1366b69c5847a2e37728ee5c44b https://github.com/WebKit/WebKit/commit/d261d3f54b97f1366b69c5847a2e37728ee5c44b Author: Simon Fraser <simon.fra...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/rendering/LayerAncestorClippingStack.cpp Log Message: ----------- Cherry-pick 291279@main (5664e32a23f7). https://bugs.webkit.org/show_bug.cgi?id=288743 Rare crash in LayerAncestorClippingStack::updateScrollingNodeLayers() https://bugs.webkit.org/show_bug.cgi?id=288743 rdar://145408197 Reviewed by Matt Woodrow. Crash data suggests that `entry.overflowScrollProxyNodeID` can be unset here, causing the `Markable<>` to release-assertion. So check it before use. * Source/WebCore/rendering/LayerAncestorClippingStack.cpp: (WebCore::LayerAncestorClippingStack::updateScrollingNodeLayers): Canonical link: https://commits.webkit.org/291279@main Canonical link: https://commits.webkit.org/290945.12@webkitglib/2.48 Commit: 40a6107af9ac34fb977f323ca058c95048db1b96 https://github.com/WebKit/WebKit/commit/40a6107af9ac34fb977f323ca058c95048db1b96 Author: Devin Rousso <h...@devinrousso.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M LayoutTests/inspector/unit-tests/map-utilities-expected.txt M LayoutTests/inspector/unit-tests/map-utilities.html M Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js M Source/WebInspectorUI/UserInterface/Base/Utilities.js M Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js M Source/WebInspectorUI/UserInterface/Main.html A Source/WebInspectorUI/UserInterface/Models/ScriptTimeline.js M Source/WebInspectorUI/UserInterface/Models/Timeline.js M Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js M Source/WebInspectorUI/UserInterface/Test.html M Source/WebInspectorUI/UserInterface/Views/PathComponentIcons.css M Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js M Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js R Source/WebInspectorUI/UserInterface/Views/ScriptProfileTimelineView.css M Source/WebInspectorUI/UserInterface/Views/ScriptProfileTimelineView.js M Source/WebInspectorUI/UserInterface/Views/ScriptTimelineDataGridNode.js M Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js Log Message: ----------- Cherry-pick 291074@main (b8bd34d2de24). https://bugs.webkit.org/show_bug.cgi?id=288262 Web Inspector: Timelines: Script: make the target into a hierarchical path component https://bugs.webkit.org/show_bug.cgi?id=288262 Reviewed by BJ Burg. Instead of having a `WI.DataGrid` column for the `target`/"context" in `WI.ScriptDetailsTimelineView` and a dropdown to switch the `WI.CallingContextTree` based on the selected `WI.Target` in `WI.ScriptProfileTimelineView`, the `WI.Target` should be a hierarchical path component to have similar behavior to elsewhere in Web Inspector. This also means that distinct `WI.ScriptProfileTimelineView` and `WI.ScriptDetailsTimelineView` are created for each `WI.Target` (as needed) instead of having each hold and switch between or display all `WI.Target` in the `WI.TimelineRecording`. Note that the `WI.HierarchicalPathComponent` for the `WI.Target` is only shown if there's more than one `WI.Target` in the `WI.TimelineRecording`. * Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js: (WI.ScriptClusterTimelineView): (WI.ScriptClusterTimelineView.createPathComponent): (WI.ScriptClusterTimelineView.prototype.reset): (WI.ScriptClusterTimelineView.prototype.get selectionPathComponents): (WI.ScriptClusterTimelineView.prototype.saveToCookie): (WI.ScriptClusterTimelineView.prototype.restoreFromCookie): (WI.ScriptClusterTimelineView.prototype.closed): (WI.ScriptClusterTimelineView.prototype._updateCurrentContentView): (WI.ScriptClusterTimelineView.prototype._createTargetPathComponent): Added. (WI.ScriptClusterTimelineView.prototype._sortTargetPathComponents): Added. (WI.ScriptClusterTimelineView.prototype._handleViewPathComponentSelected): (WI.ScriptClusterTimelineView.prototype._handleTargetAdded): Added. (WI.ScriptClusterTimelineView.prototype._handleTargetPathComponentSelected): Added. (WI.ScriptClusterTimelineView.prototype._scriptClusterViewCurrentContentViewDidChange): (WI.ScriptClusterTimelineView.prototype.get eventsContentView): Deleted. (WI.ScriptClusterTimelineView.prototype.get profileContentView): Deleted. (WI.ScriptClusterTimelineView.prototype.showEvents): Deleted. (WI.ScriptClusterTimelineView.prototype.showProfile): Deleted. (WI.ScriptClusterTimelineView.prototype._pathComponentForContentView): Deleted. (WI.ScriptClusterTimelineView.prototype._identifierForContentView): Deleted. (WI.ScriptClusterTimelineView.prototype._showContentViewForIdentifier): Deleted. (WI.ScriptClusterTimelineView.prototype._pathComponentSelected): Deleted. * Source/WebInspectorUI/UserInterface/Views/ScriptProfileTimelineView.js: (WI.ScriptProfileTimelineView): (WI.ScriptProfileTimelineView.prototype.get scrollableElements): (WI.ScriptProfileTimelineView.prototype.closed): (WI.ScriptProfileTimelineView.prototype.get navigationItems): (WI.ScriptProfileTimelineView.prototype.reset): (WI.ScriptProfileTimelineView.prototype._callingContextTreeForOrientation): (WI.ScriptProfileTimelineView.prototype._clearFocusNodes): (WI.ScriptProfileTimelineView.prototype._updateTargetNavigationItemDisplay): Deleted. (WI.ScriptProfileTimelineView.prototype._displayNameForTarget): Deleted. (WI.ScriptProfileTimelineView.prototype._handleRecordingTargetAdded): Deleted. (WI.ScriptProfileTimelineView.prototype._populateTargetNavigationItemContextMenu): Deleted. * Source/WebInspectorUI/UserInterface/Views/ScriptProfileTimelineView.css: Removed. * Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js: (WI.ScriptDetailsTimelineView): (WI.ScriptDetailsTimelineView.prototype._processPendingRecords): (WI.ScriptDetailsTimelineView.prototype._processRecord): * Source/WebInspectorUI/UserInterface/Views/ScriptTimelineDataGridNode.js: (WI.ScriptTimelineDataGridNode.prototype.get data): Remove logic around and data for the `target`/"Context" column. * Source/WebInspectorUI/UserInterface/Views/PathComponentIcons.css: (.page-icon .icon): Added. (.worker-icon .icon): Added. (@media (prefers-color-scheme: dark) .page-icon .icon): Added. (@media (prefers-color-scheme: dark) .worker-icon .icon): Added. Add `WI.HierarchicalPathComponent` icons to represent "Page" and `Worker`. These icons are the same as what's used in the Sources Tab to represent the main frame/page resource and `Worker` script respectively. * Source/WebInspectorUI/UserInterface/Models/ScriptTimeline.js: Added. (WI.ScriptTimeline.prototype.get targets): (WI.ScriptTimeline.prototype.reset): (WI.ScriptTimeline.prototype.callingContextTree): (WI.ScriptTimeline.prototype.updateCallingContextTrees): * Source/WebInspectorUI/UserInterface/Models/Timeline.js: (WI.Timeline.create): * Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js: (WI.TimelineRecording): (WI.TimelineRecording.async import): (WI.TimelineRecording.prototype.reset): (WI.TimelineRecording.prototype.updateCallingContextTrees): (WI.TimelineRecording.prototype.get targets): Deleted. (WI.TimelineRecording.prototype.callingContextTree): Deleted. * Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js: (WI.TimelineManager.prototype.scriptProfilerTrackingCompleted): Drive-by: move the `WI.CallingContextTree` to a newly defined `WI.ScriptTimeline` so that `WI.ScriptProfileTimelineView` can use them without also requiring the entire `WI.TimelineRecording` to be provided. * Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js: (WI.TimelineTabContentView.displayNameForRecord): Drive-by: simplify naming of `WI.TargetType.Worker` to just the last path component of the main script (or the `name` if provided) to match elsewhere in Web Inspector (e.g. when paused in a `Worker` in the Sources Tab). * Source/WebInspectorUI/UserInterface/Base/Utilities.js: (Map.prototype.get firstKey): Added. * LayoutTests/inspector/unit-tests/map-utilities.html: * LayoutTests/inspector/unit-tests/map-utilities-expected.txt: Add a helper method to grab the first key of a `Map` similar to how `Array`/`Set` have `firstValue`. * Source/WebInspectorUI/UserInterface/Main.html: * Source/WebInspectorUI/UserInterface/Test.html: * Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js: Canonical link: https://commits.webkit.org/291074@main Canonical link: https://commits.webkit.org/290945.13@webkitglib/2.48 Commit: 668b73c921fe38e21974b646ac2c01644e991bf9 https://github.com/WebKit/WebKit/commit/668b73c921fe38e21974b646ac2c01644e991bf9 Author: Devin Rousso <h...@devinrousso.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js Log Message: ----------- Cherry-pick 291287@main (fa0b2e54ab2d). https://bugs.webkit.org/show_bug.cgi?id=288686 Web Inspector: REGRESSION(290430@main, 291074@main): Timeline view has no grid node for record selected in timeline overview. https://bugs.webkit.org/show_bug.cgi?id=288686 Reviewed by BJ Burg. Now that there is a separate `WI.ScriptDetailsTimelineView` (and `WI.ScriptProfileTimelineView`) for each `WI.Target`, we can't just use the `currentContentView` when selecting a `WI.ScriptTimelineRecord`. * Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js: (WI.ScriptClusterTimelineView.prototype.selectRecord): Switch to the Events view for the `WI.Target` of the `WI.ScriptTimelineRecord` being selected. Canonical link: https://commits.webkit.org/291287@main Canonical link: https://commits.webkit.org/290945.14@webkitglib/2.48 Commit: 1d7df1347921fd364a4ec33e9b3ab9fff6d82432 https://github.com/WebKit/WebKit/commit/1d7df1347921fd364a4ec33e9b3ab9fff6d82432 Author: BJ Burg <bb...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js Log Message: ----------- Cherry-pick 291243@main (8b6ec50afeca). https://bugs.webkit.org/show_bug.cgi?id=288544 Web Inspector: fix display of Storage tab after 289854@main https://bugs.webkit.org/show_bug.cgi?id=288544 <rdar://145231699> Reviewed by Devin Rousso. Restore pre-289854@main behavior. This regression slipped through EWS due to it being a UI-only issue. * Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js: (WI.StorageSidebarPanel._treeSelectionDidChange): While removing DatabaseHost, we mistakenly started early returning for StorageTreeElement, which is what causes selection of the main content view of Storage tab. Don't early return. Canonical link: https://commits.webkit.org/291243@main Canonical link: https://commits.webkit.org/290945.15@webkitglib/2.48 Commit: d737549f400519b27104d975ed687028f6a0f6f5 https://github.com/WebKit/WebKit/commit/d737549f400519b27104d975ed687028f6a0f6f5 Author: Charlie Wolfe <charl...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/history/BackForwardClient.h M Source/WebCore/history/BackForwardController.cpp M Source/WebCore/history/BackForwardController.h M Source/WebCore/loader/EmptyClients.cpp M Source/WebCore/loader/HistoryController.cpp M Source/WebCore/loader/HistoryController.h M Source/WebKit/UIProcess/WebBackForwardList.cpp M Source/WebKit/UIProcess/WebBackForwardList.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp M Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h M Source/WebKitLegacy/mac/History/BackForwardList.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm Log Message: ----------- Cherry-pick 291195@main (77bf2dc99068). https://bugs.webkit.org/show_bug.cgi?id=288619 Fix a crash caused by a stale back/forward index in WebBackForwardList https://bugs.webkit.org/show_bug.cgi?id=288619 rdar://145386151 Reviewed by Alex Christensen and Pascoe. The changes in 288518@main tried to fix a crash caused by the provisional back/forward index tracked by the UI process not being committed, then cleared, resulting in it pointing to a stale index. So, I added an IPC message to notify the UI process when the web process commits the provisional history item. However, when navigating back to a cached page, the web process does not commit any history item, so the provisional index could still remain uncommitted. Instead, this change moves the commit of the provisional back/forward index to the DidCommitLoadForFrame message, which should be called when a history item is committed or a cached page is restored. * Source/WebCore/history/BackForwardClient.h: * Source/WebCore/history/BackForwardController.cpp: (WebCore::BackForwardController::commitProvisionalItem): Deleted. * Source/WebCore/history/BackForwardController.h: * Source/WebCore/loader/EmptyClients.cpp: * Source/WebCore/loader/HistoryController.cpp: (WebCore::HistoryController::updateForCommit): (WebCore::HistoryController::recursiveUpdateForCommit): (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation): (WebCore::HistoryController::commitProvisionalItem): Deleted. * Source/WebCore/loader/HistoryController.h: * Source/WebKit/UIProcess/WebBackForwardList.cpp: (WebKit::WebBackForwardList::goToItem): (WebKit::WebBackForwardList::commitProvisionalItem): (WebKit::WebBackForwardList::provisionalItem const): * Source/WebKit/UIProcess/WebBackForwardList.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::backForwardCommitProvisionalItem): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::commitProvisionalItem): Deleted. * Source/WebKit/WebProcess/WebPage/WebBackForwardListProxy.h: * Source/WebKitLegacy/mac/History/BackForwardList.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm: (TEST(WebKit, DecidePolicyForNavigationActionCancelAfterDiscardingForwardItemsWithPSON)): Canonical link: https://commits.webkit.org/291195@main Canonical link: https://commits.webkit.org/290945.16@webkitglib/2.48 Commit: e9e97d5125d9458102aa90c78e3fc7aceb5cef95 https://github.com/WebKit/WebKit/commit/e9e97d5125d9458102aa90c78e3fc7aceb5cef95 Author: Charlie Wolfe <charl...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/loader/ResourceLoader.cpp Log Message: ----------- Cherry-pick 291002@main (5a12c77c8686). https://bugs.webkit.org/show_bug.cgi?id=288429 Null pointer dereference in `ResourceLoader::ResourceLoader` https://bugs.webkit.org/show_bug.cgi?id=288429 rdar://80832481 Reviewed by Pascoe. Crash logs indicate page can be null. * Source/WebCore/loader/ResourceLoader.cpp: Canonical link: https://commits.webkit.org/291002@main Canonical link: https://commits.webkit.org/290945.17@webkitglib/2.48 Commit: 76bee68bbafc2f5d30de3b3133b843d828b158a1 https://github.com/WebKit/WebKit/commit/76bee68bbafc2f5d30de3b3133b843d828b158a1 Author: Chris Dumez <cdu...@apple.com> Date: 2025-03-04 (Tue, 04 Mar 2025) Changed paths: M Source/WebCore/loader/FrameLoader.cpp Log Message: ----------- Cherry-pick 291000@main (04e4880d6ed5). https://bugs.webkit.org/show_bug.cgi?id=288427 Null dereference of m_policyDocumentLoader in FrameLoader::continueLoadAfterNavigationPolicy() https://bugs.webkit.org/show_bug.cgi?id=288427 rdar://142282930 Reviewed by Charlie Wolfe. Add a null check for m_policyDocumentLoader as it appears it can be null. * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Canonical link: https://commits.webkit.org/291000@main Canonical link: https://commits.webkit.org/290945.18@webkitglib/2.48 Compare: https://github.com/WebKit/WebKit/compare/773a7ef411d0...76bee68bbafc 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