Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 311cf2fd89c4344a8aacc4624e99dd0abb64f054
https://github.com/WebKit/WebKit/commit/311cf2fd89c4344a8aacc4624e99dd0abb64f054
Author: Tyler Wilcock <[email protected]>
Date: 2025-11-19 (Wed, 19 Nov 2025)
Changed paths:
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AXTextRun.cpp
M Source/WebCore/accessibility/AXTextRun.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
Log Message:
-----------
AX: For performance, AXPropertyValueVariant should store unique_ptrs instead
of shared_ptrs, and NodeChange should always be moved and not copied
https://bugs.webkit.org/show_bug.cgi?id=302807
rdar://165063918
Reviewed by Joshua Hoffman.
unique_ptrs are smaller in size than shared_ptrs, and do not require reference
counting. Store those in
AXPropertyValueVariant instead. This required eliminating the copy constructor
of NodeChange and IsolatedObjectData.
It also required moving NodeChanges around rather than copying them, which is
far better for performance anyways.
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarker::object const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::isDefaultValue):
(WebCore::AXIsolatedObject::urlAttributeValue const):
(WebCore::AXIsolatedObject::pathAttributeValue const):
(WebCore::AXIsolatedObject::textRuns const):
(WebCore::AXIsolatedObject::textInputMarkedTextMarkerRange const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::createEmptyContent):
(WebCore::AXIsolatedTree::reportLoadingProgress):
(WebCore::AXIsolatedTree::queueChange):
(WebCore::AXIsolatedTree::queueAppendsAndRemovals):
(WebCore::AXIsolatedTree::updateNodeProperties):
(WebCore::createIsolatedObjectData):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
Canonical link: https://commits.webkit.org/303313@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications