Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd
      
https://github.com/WebKit/WebKit/commit/bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd
  Author: Nikolaos Mouchtaris <[email protected]>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    A 
LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt
    A LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html
    M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  -----------
  [scroll-anchoring] A scroll anchoring adjustment during a momentum scroll 
stops the scroll
https://bugs.webkit.org/show_bug.cgi?id=264898
rdar://118476758

Reviewed by Simon Fraser.

On iOS, _scrollToContentScrollPosition calls [_scrollView 
_wk_stopScrollingAndZooming], which
means when we issue a programmatic scroll, it would stop a current user scroll 
(rdar://115703492).
For scroll anchoring, this isn't great as a scroll anchoring adjustment could 
kill a user scroll.
To mitigate this, ignore scroll anchoring adjustments on scrollable areas that 
have an ongoing
user scroll. Ideally, we would add the delta to the ongoing momentum scroll to 
compensate for layout
changes during user scrolls, which requires a fix for rdar://115703492.

* LayoutTests/resources/js-test.js:
(getOrCreate):
(description):
(debug):
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to