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