• Rahul Arakeri's avatar
    Impulse fling target updates as ease in-out. · 5b53900f
    Rahul Arakeri authored
    Context -
    This CL is specific to Impulse-based-scrolling [1]. Design doc summary
    is that if the flag is turned on, scroll animations will use a
    different curve. (i.e the new curve is also Bezier based but with
    different control points). The CL that added this new curve is
    crrev.com/c/1901628.
    
    Problem -
    The new curve causes minor jerks for flings on non-PTP touchpads that
    send WM_MOUSEWHEEL(s). The reason this happens is because the steep
    initial slope of the curve.
    
    Fix -
    Start off as an impulse based curve but when subsequent GSU(s) come in,
    update the curve to the old ease in/out style curve. That way,
    individual mousewheel ticks, keyboard presses, scrollbar clicks will
    still feel impulse based and the fling will be smooth.
    
    Misc -
    Why can’t we just fix this by changing the control points on the new
    Bezier curve?
    If we do this, we’d be changing the personality of the Impulse curve
    itself which defeats the purpose of adding this new curve in the first
    place.
    
    [1] https://docs.google.com/document/d/1A3VmlY3ZR6UtJt3QQ5uuqaCOgPjV6vCMxvkpvPBe0g0/edit#heading=h.ji0n9h8v0xez
    
    Bug: 1157698
    Change-Id: I91b90080f6eac4c268f443daf2345716374a1927
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2553869
    Commit-Queue: Rahul Arakeri <arakeri@microsoft.com>
    Reviewed-by: default avatarRobert Flack <flackr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#836344}
    5b53900f
scroll_offset_animation_curve_factory.cc 3.39 KB