Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7f5aa01cf8588186794b44f1629d0e7a15f64f08
https://github.com/WebKit/WebKit/commit/7f5aa01cf8588186794b44f1629d0e7a15f64f08
Author: Ahmad Saleem <[email protected]>
Date: 2026-10-01 (Thu, 01 Oct 2026)
Changed paths:
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
Log Message:
-----------
Use removeIf / removeAllMatching instead of building temporary vectors in
RenderLayer and RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=325926
rdar://188891751
Reviewed by Simon Fraser.
Simplify two places that built a temporary vector only to filter a container.
In performOverlapTests(), use HashMap::removeIf() to notify and remove the
overlapped clients in a single pass, rather than collecting them into a
temporary vector and removing them afterwards.
In RenderLayerBacking, use Vector::removeAllMatching() to prune effects that
only animate non-interpolating properties in place, rather than copying the
whole effect list (and churning refcounts) and re-appending the survivors.
The set of timelines is then rebuilt from the remaining effects.
No change in behavior.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::performOverlapTests):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAcceleratedEffectsAndBaseValues):
Canonical link: https://commits.webkit.org/322446@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications