Changeset 181137 in webkit


Ignore:
Timestamp:
Mar 5, 2015 9:17:53 PM (9 years ago)
Author:
Brent Fulgham
Message:

[Mac] 'Gliding' phase of scroll snap points is incorrect on desktop
https://bugs.webkit.org/show_bug.cgi?id=142351
<rdar://problem/20058023>

Reviewed by Dean Jackson.

This problem was caused by incorrectly starting a new snapping animation timer when the
"end momentum" phase event had been received. This caused WebKit to recalculate the
animation curve for the remaining distance, resulting in the bad animation behavior.

Removing this incorrect start animation command when entering the momentum ended state
resolves the problem.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Remove the command to
start a new snap animation when entering the "end momentum" state.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r181136 r181137  
     12015-03-05  Brent Fulgham  <bfulgham@apple.com>
     2
     3        [Mac] 'Gliding' phase of scroll snap points is incorrect on desktop
     4        https://bugs.webkit.org/show_bug.cgi?id=142351
     5        <rdar://problem/20058023>
     6
     7        Reviewed by Dean Jackson.
     8
     9        This problem was caused by incorrectly starting a new snapping animation timer when the
     10        "end momentum" phase event had been received. This caused WebKit to recalculate the
     11        animation curve for the remaining distance, resulting in the bad animation behavior.
     12
     13        Removing this incorrect start animation command when entering the momentum ended state
     14        resolves the problem.
     15
     16        * platform/cocoa/ScrollController.mm:
     17        (WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Remove the command to
     18        start a new snap animation when entering the "end momentum" state.
     19
    1202015-03-05  Joonghun Park  <jh718.park@samsung.com>
    221
  • trunk/Source/WebCore/platform/cocoa/ScrollController.mm

    r181087 r181137  
    538538       
    539539    case WheelEventStatus::InertialScrollEnd:
    540         beginScrollSnapAnimation(axis, ScrollSnapState::Snapping);
    541540        snapState.clearInitialWheelDeltaWindow();
    542541        snapState.m_shouldOverrideWheelEvent = false;
Note: See TracChangeset for help on using the changeset viewer.