Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fa24f4dd4063c526c78440b381fce8baee934a5e https://github.com/WebKit/WebKit/commit/fa24f4dd4063c526c78440b381fce8baee934a5e Author: Wenson Hsieh <wenson_hs...@apple.com> Date: 2025-05-17 (Sat, 17 May 2025)
Changed paths: M Source/WebCore/SaferCPPExpectations/ForwardDeclCheckerExpectations M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/Page.cpp M Source/WebCore/page/Page.h A Source/WebCore/platform/FixedContainerEdges.cpp M Source/WebCore/platform/FixedContainerEdges.h M Source/WebCore/platform/audio/gstreamer/PlatformRawAudioDataGStreamer.cpp M Source/WebCore/platform/graphics/NativeImage.cpp M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/mse/GStreamerMediaDescription.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: ----------- [Page color sampling] Refactor fixed container edge sampling so that we keep track of state on all rect edges https://bugs.webkit.org/show_bug.cgi?id=293165 Reviewed by Abrar Rahman Protyasha. Part 1 of refactoring the fixed container edge sampling heuristic to be more stable — this adds a member to `Page` to store the last `FixedContainerEdges` state. Instead of computing this and sending it along in the remote layer tree transaction, we now call `updateFixedContainerEdges` and send along the current state. * Source/WebCore/SaferCPPExpectations/ForwardDeclCheckerExpectations: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/page/Page.cpp: (WebCore::Page::didCommitLoad): (WebCore::Page::updateFixedContainerEdges): (WebCore::Page::lastTopFixedContainerColor const): * Source/WebCore/page/Page.h: Replace `m_lastTopFixedContainerColor` (which only keeps track of the last predominant color on the top edge) with `m_fixedContainerEdges`, which keeps track of all sampled edges. Note that this is a `UniqueRef`, in order to avoid including `FixedContainerEdges.h` in `Page.h`. (WebCore::Page::fixedContainerEdges const): (WebCore::Page::setLastTopFixedContainerColor): Deleted. (WebCore::Page::lastTopFixedContainerColor const): Deleted. * Source/WebCore/platform/FixedContainerEdges.cpp: Copied from Source/WebCore/platform/FixedContainerEdges.h. Add an implementation file for `FixedContainerEdges` so that it can contain the `WTF_MAKE_TZONE_ALLOCATED_IMPL`. Also move a couple of inline method definitions to the source file, to make the header somewhat more readable. (WebCore::FixedContainerEdges::hasFixedEdge const): (WebCore::FixedContainerEdges::predominantColor const): * Source/WebCore/platform/FixedContainerEdges.h: (WebCore::FixedContainerEdges::FixedContainerEdges): (WebCore::FixedContainerEdges::hasFixedEdge const): Deleted. (WebCore::FixedContainerEdges::predominantColor const): Deleted. * Source/WebCore/platform/audio/gstreamer/PlatformRawAudioDataGStreamer.cpp: * Source/WebCore/platform/graphics/NativeImage.cpp: * Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: * Source/WebCore/platform/graphics/gstreamer/mse/GStreamerMediaDescription.cpp: Unified source build fixes (include missing headers). * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h: (WebKit::RemoteLayerTreeTransaction::setFixedContainerEdges): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willCommitLayerTree): Canonical link: https://commits.webkit.org/295058@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