Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fa24f4dd4063c526c78440b381fce8baee934a5e
https://github.com/WebKit/WebKit/commit/fa24f4dd4063c526c78440b381fce8baee934a5e
Author: Wenson Hsieh <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes