Bug 253117 - [UI-side compositing] Run keyboard scroll animations in the scrolling thread
Summary: [UI-side compositing] Run keyboard scroll animations in the scrolling thread
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-02-28 15:03 PST by Simon Fraser (smfr)
Modified: 2023-03-10 12:28 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2023-02-28 15:03:00 PST
We don't dispatch keyboard scrolling animations to the scrolling thread, and we should:

3   0x12f5acd6f WebKit::RemoteScrollingTreeMac::hasNodeWithAnimatedScrollChanged(bool)
4   0x1646dbee0 WebCore::ScrollingTree::setScrollAnimationInProgressForNode(unsigned long long, bool)
5   0x1646f7852 WebCore::ScrollingTreeScrollingNode::setScrollAnimationInProgress(bool)
6   0x1646fd406 WebCore::ThreadedScrollingTreeScrollingNodeDelegate::startAnimationCallback(WebCore::ScrollingEffectsController&)
7   0x16476fd98 WebCore::ScrollingEffectsController::startOrStopAnimationCallbacks()
8   0x16476fe3b WebCore::ScrollingEffectsController::setIsAnimatingKeyboardScrolling(bool)
9   0x16476fdea WebCore::ScrollingEffectsController::willBeginKeyboardScrolling()
10  0x164771da5 WebCore::ScrollingEffectsController::scrollAnimationWillStart(WebCore::ScrollAnimation&)
11  0x162597f5b WebCore::ScrollAnimation::didStart(WTF::MonotonicTime)
12  0x16474a98d WebCore::ScrollAnimationKeyboard::startKeyboardScroll(WebCore::KeyboardScroll const&)
13  0x16476fefc WebCore::ScrollingEffectsController::startKeyboardScroll(WebCore::KeyboardScroll const&)
14  0x1646fdcb3 WebCore::ThreadedScrollingTreeScrollingNodeDelegate::handleKeyboardScrollRequest(WebCore::RequestedKeyboardScrollData const&)
15  0x1646f6af8 WebCore::ScrollingTreeScrollingNode::handleKeyboardScrollRequest(WebCore::RequestedKeyboardScrollData const&)
16  0x1646f685a WebCore::ScrollingTreeScrollingNode::commitStateAfterChildren(WebCore::ScrollingStateNode const&)
17  0x1618fddb1 WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren(WebCore::ScrollingStateNode const&)
18  0x1646da2b1 WebCore::ScrollingTree::updateTreeFromStateNodeRecursive(WebCore::ScrollingStateNode const*, WebCore::CommitTreeState&)
19  0x1646da27f WebCore::ScrollingTree::updateTreeFromStateNodeRecursive(WebCore::ScrollingStateNode const*, WebCore::CommitTreeState&)
20  0x1646da27f WebCore::ScrollingTree::updateTreeFromStateNodeRecursive(WebCore::ScrollingStateNode const*, WebCore::CommitTreeState&)
21  0x1646d9640 WebCore::ScrollingTree::commitTreeState(std::__1::unique_ptr<WebCore::ScrollingStateTree, std::__1::default_delete<WebCore::ScrollingStateTree>>&&)
22  0x12fcb8f1b WebKit::RemoteScrollingCoordinatorProxy::commitScrollingTreeState(WebKit::RemoteScrollingCoordinatorTransaction const&)
Comment 1 Radar WebKit Bug Importer 2023-02-28 15:03:31 PST
<rdar://problem/106053716>
Comment 2 Simon Fraser (smfr) 2023-02-28 15:15:36 PST
Need to do something similar to what ThreadedScrollingTree::scrollingTreeNodeRequestsScroll() does.
Comment 3 Richard Robinson 2023-03-08 22:48:31 PST
Pull request: https://github.com/WebKit/WebKit/pull/11284
Comment 4 EWS 2023-03-10 12:28:20 PST
Committed 261518@main (b1e1c93fe134): <https://commits.webkit.org/261518@main>

Reviewed commits have been landed. Closing PR #11284 and removing active labels.