Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 50c9dcae73447ac8e649a07dd246b227fc3dfd65 https://github.com/WebKit/WebKit/commit/50c9dcae73447ac8e649a07dd246b227fc3dfd65 Author: Nikolaos Mouchtaris <nmouchta...@apple.com> Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths: M LayoutTests/TestExpectations A LayoutTests/fast/scrolling/mac/keyboard-rubberband-expected.txt A LayoutTests/fast/scrolling/mac/keyboard-rubberband.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/platform/ScrollAnimator.cpp Log Message: ----------- [scroll-anchoring] Keyboard scrolling into a rubberband leaves the page stuck at a bad scroll offset https://bugs.webkit.org/show_bug.cgi?id=267061 rdar://120053910 Reviewed by Simon Fraser. After https://commits.webkit.org/271957@main we disabled scroll anchoring adjustments while m_owningScrollableArea.isRubberBandInProgress() is true. However, this is not true during a keyboard scroll. A better solution to this is to invalidate the scroll anchoring element in ScrollAnimator::setCurrentPosition itself. Normally scroll position changes here would be sent down into the scrollable area via setScrollPositionFromAnimation, however while rubberbanding notify is NotifyScrollableArea::No, so we don't propagate the scroll position change to the scrollable area. Now that we properly notfiy the scroll anchoring controller of the scroll position change while rubberbanding, we can remove the old solution. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/platform/ScrollAnimator.cpp: (WebCore::notifyScrollAnchoringControllerOfScroll): (WebCore::ScrollAnimator::setCurrentPosition): Canonical link: https://commits.webkit.org/272657@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes