Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eac81f7d7c8d4eb9040ee21a0c94530228ef30ac
      
https://github.com/WebKit/WebKit/commit/eac81f7d7c8d4eb9040ee21a0c94530228ef30ac
  Author: Simon Fraser <simon.fra...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to