Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1bb52fdceac9130525dcb521bb779ee184a392eb https://github.com/WebKit/WebKit/commit/1bb52fdceac9130525dcb521bb779ee184a392eb Author: Nikolaos Mouchtaris <nmouchta...@apple.com> Date: 2023-07-21 (Fri, 21 Jul 2023)
Changed paths: M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/Element.h M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/LocalDOMWindow.h M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp M Source/WebCore/platform/ScrollAnimator.cpp M Source/WebCore/platform/ScrollTypes.cpp M Source/WebCore/platform/ScrollTypes.h M Source/WebCore/platform/ScrollView.cpp M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm Log Message: ----------- REGRESSION (UI-side compositing): Scrolling web inspector timeline is very jumpy https://bugs.webkit.org/show_bug.cgi?id=258319 rdar://107685436 Reviewed by Simon Fraser. When receiving a wheel event from dispatchEvent, the current design recieves this event in the web process, and sends this request to the UI-process as a RequestedScrollData object. This object contained a scrollPosition to animate to, but this was calculated using the scroll position in the web process. Since this scroll position could be out of sync with the UI-process while the user was scrolling, this could result in a scroll to a scroll position behind the current scroll position, leading to a jumpy looking scroll. To fix this, rather than sending across the scroll position to scroll to, simply send across the requested scroll delta to the UI-process, and use the UI-process scroll position to calculate the correct scroll position to animate to. Also, propagate down the original scroll delta (if it exists), to be used in AsyncScrollingCoordinator::requestScrollToPosition, so that we know whether to do a delta or scroll position update. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::requestScrollToPosition): * Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::startPendingScrollAnimations): Canonical link: https://commits.webkit.org/266210@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes