RenderLayerScrollableArea::updateScrollPosition calculates a target scroll offset and tries to scroll there before returning an adjusted rectangle. The adjusted rectangle is based on the target scroll offset, rather than the area's true new scroll offset. The target offset may not be equal to the area's true offset due to scroll snapping.
Created attachment 433138 [details] Patch
Created attachment 433303 [details] Patch
Looks like my original change did not take into account the in-progress smooth scrolling API. I've modified this patch so that instead of using `scrollOffset()` to adjust the output rectangle, `scrollToOffset()` now returns the snapped scroll offset.
Committed r279869 (239622@main): <https://commits.webkit.org/239622@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 433303 [details].
<rdar://problem/80505941>