Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 260dbd54ddc991eb4da22ade56c40a850e31fe81
https://github.com/WebKit/WebKit/commit/260dbd54ddc991eb4da22ade56c40a850e31fe81
Author: Joshua Hoffman <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes