Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 260dbd54ddc991eb4da22ade56c40a850e31fe81
      
https://github.com/WebKit/WebKit/commit/260dbd54ddc991eb4da22ade56c40a850e31fe81
  Author: Joshua Hoffman <jhoffma...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to