[webkit-changes] [WebKit/WebKit] 3e62e3: REGRESSION (261543 at main): Assertions in layout tes...
Simon Fraser
noreply at github.com
Tue Mar 14 10:13:59 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e62e3f64baee72605fdf8e03c39a302af7bbfb7
https://github.com/WebKit/WebKit/commit/3e62e3f64baee72605fdf8e03c39a302af7bbfb7
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-03-14 (Tue, 14 Mar 2023)
Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
Log Message:
-----------
REGRESSION (261543 at 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
More information about the webkit-changes
mailing list