[Webkit-unassigned] [Bug 273928] IntersectionObserver callback for a visible sentinel node within a container with CSS transform animations is triggered multiple times, but should only be triggered once
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon May 13 09:19:36 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=273928
--- Comment #4 from Antoine Quint <graouts at webkit.org> ---
I think the issue here is that `IntersectionObserver::computeIntersectionState()` calls `targetRenderer->computeVisibleRectsInContainer()` and that this function simply uses for `RenderLayer::transform()` rather than `RenderLayer::currentTransform()`. I believe the former returns a transform as set by the RenderStyle last computed for the associated renderer, which will not contain animated transforms if animations targeting the renderer are accelerated, which will most often be the case for transform-related CSS properties.
Changing the call to `adjustedRects.transform()` in `RenderBox::computeVisibleRectsInContainer()` at least appears to fix this particular sample and does not show immediate regressions under either `LayoutTests/intersection-observer` or `LayoutTests/imported/w3c/web-platform-tests/intersection-observer`.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240513/d6a8b726/attachment-0001.htm>
More information about the webkit-unassigned
mailing list