[webkit-changes] [WebKit/WebKit] 0c37f4: fast/scrolling/mac/momentum-animator-end-event-sto...
Simon Fraser
noreply at github.com
Wed Jan 18 18:16:42 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0c37f44f19d67ecb8a1cb74ec221d82129db7c6d
https://github.com/WebKit/WebKit/commit/0c37f44f19d67ecb8a1cb74ec221d82129db7c6d
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-01-18 (Wed, 18 Jan 2023)
Changed paths:
M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
M Source/WebKit/WebProcess/WebPage/EventDispatcher.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
fast/scrolling/mac/momentum-animator-end-event-stops.html fails with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=250752
rdar://104364303
Reviewed by Dean Jackson.
Each wheel event that comes from the UI process has to have a corresponding
WebPageProxy::DidReceiveEvent() IPC back to the UI process, otherwise events will accumulate in the
WebWheelEventCoalescer and WebPageProxy::handleWheelEvent() won't send any new events to the web
process.
WebPage::wheelEvent() only sent WebPageProxy::DidReceiveEvent() for certain combinations of
processingSteps, in a way that only worked with non-UI-side compositing (i.e. wheel events coming
via EventDispatcher). So move the calls to `send(Messages::WebPageProxy::DidReceiveEvent())` to the
callers of WebPage::wheelEvent(), namely WebPage::handleWheelEvent(), which is called with UI-side
compositing, and EventDispatcher::dispatchWheelEvent(), which is called for non-UI-side compositing.
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::dispatchWheelEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::handleWheelEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
Canonical link: https://commits.webkit.org/259063@main
More information about the webkit-changes
mailing list