Bug 232738 - A sideways rubber band can break a vertical scroll snap animation
Summary: A sideways rubber band can break a vertical scroll snap animation
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Scrolling (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-11-04 17:26 PDT by Simon Fraser (smfr)
Modified: 2022-02-12 22:21 PST (History)
3 users (show)

See Also:


Attachments
Test case (614 bytes, text/html)
2021-11-09 08:56 PST, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.