Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3e62e3f64baee72605fdf8e03c39a302af7bbfb7
      
https://github.com/WebKit/WebKit/commit/3e62e3f64baee72605fdf8e03c39a302af7bbfb7
  Author: Simon Fraser <[email protected]>
  Date:   2023-03-14 (Tue, 14 Mar 2023)

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

  Log Message:
  -----------
  REGRESSION (261543@main): Assertions in layout tests with UI-side compositing 
enabled
https://bugs.webkit.org/show_bug.cgi?id=253849
rdar://106664560

Reviewed by Tim Horton.

There were code paths under `ScrollingTree::handleWheelEvent()` that called 
`RemoteScrollingTreeMac::scrollingNodeForPoint()`
without taking the m_layerHitTestMutex, so we have to hoist the usage of 
`RemoteLayerTreeHitTestLocker` up into the entry point
to scrolling thread wheel handling.

We have to avoid lock inversion with `m_treeLock`, so need to follow the same 
pattern as the UI thread, where `m_layerHitTestMutex`
is held before we take `m_treeLock`.

* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::determineWheelEventProcessing):
(WebKit::RemoteLayerTreeEventDispatcher::scrollingThreadHandleWheelEvent):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to