[webkit-changes] [WebKit/WebKit] eac81f: Have RemoteLayerTreeEventDispatcher start and stop...

Simon Fraser noreply at github.com
Thu Feb 23 12:28:57 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eac81f7d7c8d4eb9040ee21a0c94530228ef30ac
      https://github.com/WebKit/WebKit/commit/eac81f7d7c8d4eb9040ee21a0c94530228ef30ac
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-02-23 (Thu, 23 Feb 2023)

  Changed paths:
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h

  Log Message:
  -----------
  Have RemoteLayerTreeEventDispatcher start and stop a DisplayLink callback
https://bugs.webkit.org/show_bug.cgi?id=252796
<rdar://problem/105815711>

Reviewed by Myles C. Maxfield.

RemoteLayerTreeEventDispatcher needs its own DisplayLink::Client because it
needs to bounce the callbacks to the scrolling thread. So have RemoteLayerTreeEventDispatcher
create a RemoteLayerTreeEventDispatcherDisplayLinkClient which receives the callback,
taking care to make the invalidation code path thread safe.

We start and stop the callback currently just for scroll animations; future patches
will actually hook this up, and add more reasons to run a callback.

* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::m_displayLinkClient):
(WebKit::RemoteLayerTreeEventDispatcher::invalidate):
(WebKit::RemoteLayerTreeEventDispatcher::displayLink const):
(WebKit::RemoteLayerTreeEventDispatcher::startOrStopDisplayLink):
(WebKit::RemoteLayerTreeEventDispatcher::startDisplayLinkObserver):
(WebKit::RemoteLayerTreeEventDispatcher::stopDisplayLinkObserver):
(WebKit::m_wheelEventDeltaFilter): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h:

Canonical link: https://commits.webkit.org/260762@main




More information about the webkit-changes mailing list