[webkit-changes] [WebKit/WebKit] e4ad61: AX: Move objectsForIds off of the main thread

Joshua Hoffman noreply at github.com
Tue Dec 19 21:09:27 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e4ad61660d18fb4c6ea566f697dc59bfa0229ae3
      https://github.com/WebKit/WebKit/commit/e4ad61660d18fb4c6ea566f697dc59bfa0229ae3
  Author: Joshua Hoffman <jhoffman23 at apple.com>
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
    M LayoutTests/accessibility/mac/aria-errormessage-expected.txt
    M LayoutTests/accessibility/mac/aria-errormessage.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h

  Log Message:
  -----------
  AX: Move objectsForIds off of the main thread
https://bugs.webkit.org/show_bug.cgi?id=266608
rdar://116133586

Reviewed by Tyler Wilcock.

This patch moves objectsForIDs completely off of the main thread by eagerly
caching ignored objects that are origins/targets of relationships. This allows
all potentially requested AX objects to be served from the AX thread.

These objects are being added as unconnected in two spots: (1) when the isolated
tree is initialized and (2) when a new relation is being added.

* LayoutTests/accessibility/mac/aria-errormessage-expected.txt:
* LayoutTests/accessibility/mac/aria-errormessage.html:
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::addRelation):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::objectsForIDs):
(WebCore::AXIsolatedTree::addUnconnectedNode):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:

Canonical link: https://commits.webkit.org/272323@main




More information about the webkit-changes mailing list