[webkit-changes] [WebKit/WebKit] 260dbd: AX: Serve relatedObjectIdsFor off of the main thread
Joshua Hoffman
noreply at github.com
Thu Dec 14 10:31:04 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 260dbd54ddc991eb4da22ade56c40a850e31fe81
https://github.com/WebKit/WebKit/commit/260dbd54ddc991eb4da22ade56c40a850e31fe81
Author: Joshua Hoffman <jhoffman23 at apple.com>
Date: 2023-12-14 (Thu, 14 Dec 2023)
Changed paths:
M LayoutTests/accessibility/mac/table-headers-attribute.html
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
Log Message:
-----------
AX: Serve relatedObjectIdsFor off of the main thread
https://bugs.webkit.org/show_bug.cgi?id=266268
rdar://116133758
Reviewed by Tyler Wilcock.
Before this patch, we would have to go to the main thread to retrieve relations from the cache
whenever they were dirty inside AXIsolatedTree::relatedObjectIdsFor. This patch removes that
necessity by caching relations, which is performed only when they are dirty.
Taking advantage of the new deferred node updates logic, we now cache relations from the
AXObjectCache only if the m_relationsNeedUpdate flag is set when processQueuedNodeUpdates
is fired, rather than caching lazily in relatedObjectIdsFor. This allows
AXIsolatedTree::relatedObjectIdsFor to use the cached m_relations.
One test was made async to reflect this change.
* LayoutTests/accessibility/mac/table-headers-attribute.html:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::relationsNeedUpdate):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::updateRelations):
(WebCore::AXIsolatedTree::relatedObjectIDsFor):
(WebCore::AXIsolatedTree::processQueuedNodeUpdates):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
Canonical link: https://commits.webkit.org/272054@main
More information about the webkit-changes
mailing list