[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