Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0c64efa347b930a2ae3dbeea7d0ad20373c1bf61
https://github.com/WebKit/WebKit/commit/0c64efa347b930a2ae3dbeea7d0ad20373c1bf61
Author: Matt Woodrow <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h
M
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
Log Message:
-----------
Async scrolling on Mac creates implicit CA transactions.
https://bugs.webkit.org/show_bug.cgi?id=255960
<rdar://108174791>
Reviewed by Simon Fraser.
RemoteScrollingTreeMac can mutate the layer tree on the scrolling thread, which
creates implicit CA transactions. Some clients aren't expecting this, so we
should instead create explicit transactions when needed.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::tryToApplyLayerPositions):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
(WebKit::RemoteScrollingTree::beginTransactionOnScrollingThread):
(WebKit::RemoteScrollingTree::commitTransactionOnScrollingThread):
(WebKit::RemoteScrollingTreeTransactionHolder::RemoteScrollingTreeTransactionHolder):
(WebKit::RemoteScrollingTreeTransactionHolder::~RemoteScrollingTreeTransactionHolder):
*
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::scrollingThreadHandleWheelEvent):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::beginTransactionOnScrollingThread):
(WebKit::RemoteScrollingTreeMac::commitTransactionOnScrollingThread):
Canonical link: https://commits.webkit.org/263400@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes