[webkit-changes] [WebKit/WebKit] 7eb147: Use ThreadSafeWeakPtr to store m_parent in Scrolli...

Ryosuke Niwa noreply at github.com
Thu Jan 12 12:16:59 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7eb147bf101d9a7a200e369c2fde12f81d1facf4
      https://github.com/WebKit/WebKit/commit/7eb147bf101d9a7a200e369c2fde12f81d1facf4
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-01-12 (Thu, 12 Jan 2023)

  Changed paths:
    M Source/WTF/wtf/RefPtr.h
    M Source/WTF/wtf/ThreadSafeWeakPtr.h
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/ScrollingStateNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateNode.h
    M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateTree.cpp
    M Source/WebCore/page/scrolling/ScrollingStateTree.h
    M Source/WebCore/page/scrolling/ScrollingTreeNode.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp

  Log Message:
  -----------
  Use ThreadSafeWeakPtr to store m_parent in ScrollingStateNode
https://bugs.webkit.org/show_bug.cgi?id=250497

Reviewed by Simon Fraser.

Use ThreadSafeWeakPtr to store m_parent in ScrollingStateNode much like https://commits.webkit.org/258795@main.

* Source/WTF/wtf/RefPtr.h:
(WTF::dynamicDowncast): Added versions of dynamicDowncast that take const RefPtr& and RefPtr&&.

* Source/WTF/wtf/ThreadSafeWeakPtr.h:
(WTF::ThreadSafeWeakPtr::operator=): Made operator= work with nullptr.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewVisualViewportChanged):
(WebCore::AsyncScrollingCoordinator::frameViewWillBeDetached):
(WebCore::AsyncScrollingCoordinator::updateIsMonitoringWheelEventsForFrameView):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::requestStartKeyboardScrollAnimation):
(WebCore::AsyncScrollingCoordinator::requestStopKeyboardScrollAnimation):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::requestAnimatedScrollToPosition):
(WebCore::AsyncScrollingCoordinator::stopAnimatedScroll):
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const):
(WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(WebCore::AsyncScrollingCoordinator::parentOfNode const):
(WebCore::AsyncScrollingCoordinator::childrenOfNode const):
(WebCore::AsyncScrollingCoordinator::setNodeLayers):
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):
(WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeConstraints):
(WebCore::AsyncScrollingCoordinator::setPositionedNodeConstraints):
(WebCore::AsyncScrollingCoordinator::setRelatedOverflowScrollingNodes):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
(WebCore::AsyncScrollingCoordinator::synchronousScrollingReasons const):
(WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView):

* Source/WebCore/page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::removeFromParent):

* Source/WebCore/page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::parent const):
(WebCore::ScrollingStateNode::setParent):
(WebCore::ScrollingStateNode::parentNodeID const):

* Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.cpp:
(WebCore::ScrollingStateOverflowScrollProxyNode::dumpProperties const):

* Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::computeLayerPosition const):

* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::createUnparentedNode):
(WebCore::ScrollingStateTree::insertNode):
(WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
(WebCore::ScrollingStateTree::stateNodeForID const):
(WebCore::ScrollingStateTree::reconcileViewportConstrainedLayerPositions):

* Source/WebCore/page/scrolling/ScrollingStateTree.h:

* Source/WebCore/page/scrolling/ScrollingTreeNode.h:

* Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingCoordinatorTransaction::decode):

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




More information about the webkit-changes mailing list