Bug 232738

Summary: A sideways rubber band can break a vertical scroll snap animation
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: ScrollingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Test case none

Description Simon Fraser (smfr) 2021-11-04 17:26:11 PDT
In a vertically document with snap points, if your vertical scroll gesture has some horizontal component, we can start a rubberband animation in X which kills the scroll snap momentum animation:

ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController::applyScrollDeltaWithStretching() - stretchScrollForce width=4 height=0 move delta width=0 height=0 dampedDelta width=1 height=0
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController::applyScrollDeltaWithStretching() - stretchScrollForce width=4 height=0 move delta width=0 height=0 dampedDelta width=1 height=0
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController::applyScrollDeltaWithStretching() - stretchScrollForce width=5 height=0 move delta width=1 height=0 dampedDelta width=1 height=0
ScrollingEffectsController::applyScrollDeltaWithStretching() - stretchScrollForce width=6 height=0 move delta width=1 height=0 dampedDelta width=1 height=0
ScrollingEffectsController 0x31062c180 updateRubberBandingState - isRubberBanding 0
ScrollingEffectsController 0x31062c180 startMomentumScrollWithInitialVelocity width=0 height=0 from (1,319)
ScrollingEffectsController 0x31062c180 scrollAnimationWillStart ScrollAnimation 0x3106124b0 momentum active 1 current offset (0,0)
ScrollingEffectsController::startRubberBandAnimationIfNecessary() - rubberBandAnimationRunning 0 stretchAmount width=1 height=0 targetOffset (1,319)
ScrollingEffectsController 0x31062c180 scrollAnimationDidEnd ScrollAnimation 0x3106124b0 momentum active 0 current offset (0,0)
ScrollingEffectsController 0x31062c180 stopAnimatedScroll
ScrollingEffectsController::startRubberBandAnimation() - starting rubbberband with targetOffset (0,319) initialVelocity width=0 height=0 initialOverscroll width=1 height=0
ScrollingEffectsController 0x31062c180 scrollAnimationWillStart ScrollAnimation 0x31f8bf240 rubber-band active 1 current offset (0,0)
ScrollingEffectsController 0x31062c180 updateRubberBandingState - isRubberBanding 1
ScrollingEffectsController 0x31062c180 scrollAnimationDidUpdate ScrollAnimation 0x31f8bf240 rubber-band active 1 current offset (1,319) (main thread 0) scrolling to (1,319)
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController 0x31062c180 scrollAnimationDidUpdate ScrollAnimation 0x31f8bf240 rubber-band active 1 current offset (1,319) (main thread 0) scrolling to (1,319)
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController 0x31062c180 scrollAnimationDidUpdate ScrollAnimation 0x31f8bf240 rubber-band active 1 current offset (1,319) (main thread 0) scrolling to (1,319)
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ScrollingEffectsController 0x31062c180 scrollAnimationDidUpdate ScrollAnimation 0x31f8bf240 rubber-band active 1 current offset (0,319) (main thread 0) scrolling to (0,319)
ScrollingEffectsController 0x31062c180 updateRubberBandingState - isRubberBanding 0
ScrollingEffectsController 0x31062c180 scrollAnimationDidEnd ScrollAnimation 0x31f8bf240 rubber-band active 0 current offset (0,319)
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 1
ThreadedScrollingTree::willStartRenderingUpdate - scrollingThreadIsActive 0
Comment 1 Radar WebKit Bug Importer 2021-11-04 17:46:08 PDT
<rdar://problem/85041566>
Comment 2 Simon Fraser (smfr) 2021-11-04 17:57:56 PDT
This will be a regression from the scroll animation refactoring.
Comment 3 Simon Fraser (smfr) 2021-11-09 08:56:34 PST
Created attachment 443694 [details]
Test case
Comment 4 Brent Fulgham 2022-02-12 22:21:43 PST
QA is unable to reproduce this.