Branch: refs/heads/webkitglib/2.52
Home: https://github.com/WebKit/WebKit
Commit: e8db3f8034d87af407fb696ca716c1dc736035a7
https://github.com/WebKit/WebKit/commit/e8db3f8034d87af407fb696ca716c1dc736035a7
Author: Charlie Wolfe <[email protected]>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A
LayoutTests/compositing/overflow/sticky-overlap-extent-in-overflow-expected.html
A LayoutTests/compositing/overflow/sticky-overlap-extent-in-overflow.html
M Source/WebCore/rendering/RenderLayerCompositor.cpp
Log Message:
-----------
Cherry-pick 311411@main (66afe029e18c).
https://bugs.webkit.org/show_bug.cgi?id=312448
REGRESSION (309147@main): Table on a ESPNCricInfo page disappears and
re-appears
https://bugs.webkit.org/show_bug.cgi?id=312448
rdar://171179878
Reviewed by Simon Fraser.
computeExtent() intersects the scroll inflated bounds (absolute
coordinates) with
computeStickyExtent() (scroll ancestor relative coordinates). For viewport
scrolled
sticky elements both spaces match, but inside an overflow container the
mismatch
produces an empty intersection when content above positions the container
below the
page origin. The overlap map then misses the sticky layer, so overlapping
content
with higher z-index is never composited and paints behind the sticky layer.
Fix by converting computeStickyExtent() to absolute coordinates before
intersecting.
Test: compositing/overflow/sticky-overlap-extent-in-overflow.html
*
LayoutTests/compositing/overflow/sticky-overlap-extent-in-overflow-expected.html:
Added.
* LayoutTests/compositing/overflow/sticky-overlap-extent-in-overflow.html:
Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeExtent const):
Canonical link: https://commits.webkit.org/311411@main
Canonical link: https://commits.webkit.org/305877.443@webkitglib/2.52
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications