[webkit-changes] [WebKit/WebKit] c32407: ScrollingStateNode::m_children should be a Vector ...

Alex Christensen noreply at github.com
Tue Aug 22 19:44:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c32407025177e9f14ae61fb833c0811c4bfe95ac
      https://github.com/WebKit/WebKit/commit/c32407025177e9f14ae61fb833c0811c4bfe95ac
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-08-22 (Tue, 22 Aug 2023)

  Changed paths:
    M LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/remove-coordinated-frame-expected.txt
    M LayoutTests/platform/wpe/scrollingcoordinator/scrolling-tree/remove-coordinated-frame-expected.txt
    M LayoutTests/scrollingcoordinator/scrolling-tree/remove-coordinated-frame-expected.txt
    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/ScrollingStateTree.cpp
    M Source/WebCore/page/scrolling/ScrollingTree.cpp
    M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
    A Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp.orig
    A Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp.rej

  Log Message:
  -----------
  ScrollingStateNode::m_children should be a Vector instead of a unique_ptr<Vector>
https://bugs.webkit.org/show_bug.cgi?id=260500
rdar://114229385

Reviewed by Simon Fraser.

This removes double allocation and double pointer dereferencing.  It adds a pointer size to the node.

There was one layout test that printed that it had 0 children in the scroll tree and that is no longer printed.
This is of no consequence.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::childrenOfNode const):
* Source/WebCore/page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::cloneAndResetChildren):
(WebCore::ScrollingStateNode::appendChild):
(WebCore::ScrollingStateNode::insertChild):
(WebCore::ScrollingStateNode::removeChildAtIndex):
(WebCore::ScrollingStateNode::indexOfChild const):
(WebCore::ScrollingStateNode::dump const):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::children):
(WebCore::ScrollingStateNode::children const):
(WebCore::ScrollingStateNode::takeChildren):
* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::nodeWasReattachedRecursive):
(WebCore::ScrollingStateTree::unparentChildrenAndDestroyNode):
(WebCore::ScrollingStateTree::traverse const):
(WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
(WebCore::ScrollingStateTree::recursiveNodeWillBeRemoved):
(WebCore::reconcileLayerPositionsRecursive):
* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNodeRecursive):
* Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(encodeNodeAndDescendants):
(WebKit::recursiveDumpNodes):

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




More information about the webkit-changes mailing list