[webkit-changes] [WebKit/WebKit] 78a45b: Avoid linear search in ScrollingStateTree::insertN...
Chris Dumez
noreply at github.com
Wed Sep 6 15:10:43 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 78a45ba1d6081c4040d09569c134c3490f9f0e16
https://github.com/WebKit/WebKit/commit/78a45ba1d6081c4040d09569c134c3490f9f0e16
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-09-06 (Wed, 06 Sep 2023)
Changed paths:
M Source/WebCore/page/scrolling/ScrollingStateNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateTree.cpp
Log Message:
-----------
Avoid linear search in ScrollingStateTree::insertNode() when node is already present at desired index
https://bugs.webkit.org/show_bug.cgi?id=261209
Reviewed by Simon Fraser.
Avoid linear search in ScrollingStateTree::insertNode() when node is already
present at desired index.
We used to do a linear search to find the index of `child` and then compare it
with `childIndex`. Instead, we now lookup the node at `childIndex` (which is
cheap) and compare it to `child`. This allows us to drop some now unused code
as well.
* Source/WebCore/page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::removeChild):
(WebCore::ScrollingStateNode::childAtIndex const):
(WebCore::ScrollingStateNode::removeChildAtIndex): Deleted.
(WebCore::ScrollingStateNode::indexOfChild const): Deleted.
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::insertNode):
Canonical link: https://commits.webkit.org/267698@main
More information about the webkit-changes
mailing list