You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[UI-side compositing] History swipes can fail if you swipe over an element with a wheel event handler
https://bugs.webkit.org/show_bug.cgi?id=254837
rdar://107481980
Reviewed by Tim Horton.
`ThreadedScrollingCoordinator::handleWheelEventForScrolling()` checks to see if the current event
can start a swipe gesture, and we need to do the same in `RemoteScrollingCoordinator::handleWheelEventForScrolling()`.
However, we don't have a scrolling tree to ask in the web process, so we need to feed this information
down from the UI Process. So plumb `willStartSwipe` through and check it.
Tested by `LayoutTests/swipe` tests.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::continueWheelEventHandling):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::waitForEventDefaultHandlingCompletion):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::continueWheelEventHandling):
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::wheelEventHandlingCompleted):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::handleWheelEventForScrolling):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::handleWheelEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
Canonical link: https://commits.webkit.org/262439@main
0 commit comments