Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ec7e3b45991386815ab248173fe74697f77569a2
      
https://github.com/WebKit/WebKit/commit/ec7e3b45991386815ab248173fe74697f77569a2
  Author: Simon Fraser <[email protected]>
  Date:   2026-06-02 (Tue, 02 Jun 2026)

  Changed paths:
    A 
LayoutTests/fast/scrolling/scroll-anchoring/scroll-anchoring-on-first-async-commit-expected.txt
    A 
LayoutTests/fast/scrolling/scroll-anchoring/scroll-anchoring-on-first-async-commit.html
    M 
LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt
    M 
LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp

  Log Message:
  -----------
  Quip comments panel can be blank when opened sometimes
https://bugs.webkit.org/show_bug.cgi?id=315893
rdar://178255628

Reviewed by Abrar Rahman Protyasha.

The Quip page happened to make an overflow scroller scrollable, and trigger 
scroll anchoring
in the same rendering update. Thus, the first scrolling tree commit to the UI 
process had
a scroll position request containing a scroll delta.

The existing could would resolve this delta against (0,0) which caused the UI 
process to
get a bad scroll offset (which resulting missing tiles). Fix to compute the 
right
`m_currentScrollPosition` in this case so that we end up at the right scroll 
position.

This revealed another issue where the scrolling state node in the first 
scrolling tree commit
would only contain an offset for the first `scrollBy` in 
`fast/scrolling/programmatic-scroll-merge-delta.html`,
because the node `scrollPosition` is updated in 
`setScrollingNodeScrollableAreaGeometry()`, before
the `applyScrollUpdate()`; fix by upating it again near the end of
`AsyncScrollingCoordinator::requestScrollToPosition()`. This affects two 
`tiled-drawing`
tests whose results make more sense now.

Test: 
fast/scrolling/scroll-anchoring/scroll-anchoring-on-first-async-commit.html

* 
LayoutTests/fast/scrolling/scroll-anchoring/scroll-anchoring-on-first-async-commit-expected.txt:
 Added.
* 
LayoutTests/fast/scrolling/scroll-anchoring/scroll-anchoring-on-first-async-commit.html:
 Added.
* LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
* LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollToPosition):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):

Canonical link: https://commits.webkit.org/314371@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to