[webkit-changes] [WebKit/WebKit] 0c64ef: Async scrolling on Mac creates implicit CA transac...

mattwoodrow noreply at github.com
Tue Apr 25 21:20:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c64efa347b930a2ae3dbeea7d0ad20373c1bf61
      https://github.com/WebKit/WebKit/commit/0c64efa347b930a2ae3dbeea7d0ad20373c1bf61
  Author: Matt Woodrow <mattwoodrow at apple.com>
  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




More information about the webkit-changes mailing list