-
Add support for smooth scrolling animation with async scrolling https://bugs.webkit.org/show_bug.cgi?id=210382 Reviewed by Carlos Garcia Campos. This removes the dependency on ScrollableArea from ScrollAnimationSmooth, which allows its use as a utility class for smooth scrolling. This class is then used in the Nicosia async layer composition scrolling code to provide smooth scrolling, when the feature is enabled. This mirrors the work done in bug 209230 for kinetic scrolling. No new tests, enabling existing functionality in more situations. * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::scrollTo): * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp: (WebCore::ScrollingTreeFrameScrollingNodeNicosia::ScrollingTreeFrameScrollingNodeNicosia): (WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren): (WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent): (WebCore::ScrollingTreeFrameScrollingNodeNicosia::stopScrollAnimations): * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h: * page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp: (WebCore::ScrollingTreeOverflowScrollingNodeNicosia::ScrollingTreeOverflowScrollingNodeNicosia): (WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren): (WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent): (WebCore::ScrollingTreeOverflowScrollingNodeNicosia::stopScrollAnimations): * page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h: * platform/ScrollAnimation.h: (WebCore::ScrollAnimation::serviceAnimation): * platform/ScrollAnimationKinetic.cpp: * platform/ScrollAnimationKinetic.h: * platform/ScrollAnimationSmooth.cpp: (WebCore::ScrollAnimationSmooth::ScrollAnimationSmooth): (WebCore::ScrollAnimationSmooth::scroll): (WebCore::ScrollAnimationSmooth::stop): (WebCore::ScrollAnimationSmooth::updateVisibleLengths): (WebCore::ScrollAnimationSmooth::animationTimerFired): * platform/ScrollAnimationSmooth.h: * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::ScrollAnimator): * platform/generic/ScrollAnimatorGeneric.cpp: (WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric): (WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@266390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
9e48fb46