Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 66afe029e18cbb44aacb57f95a3973e824aecafb
https://github.com/WebKit/WebKit/commit/66afe029e18cbb44aacb57f95a3973e824aecafb
Author: Charlie Wolfe <[email protected]>
Date: 2026-04-16 (Thu, 16 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:
-----------
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
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications