[webkit-changes] [WebKit/WebKit] 05842e: AX: Revert 272323 at main: unsafe calls to addUnconne...

Joshua Hoffman noreply at github.com
Mon Feb 5 18:58:50 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05842e7686500455c98398d6d218cde1104b613f
      https://github.com/WebKit/WebKit/commit/05842e7686500455c98398d6d218cde1104b613f
  Author: Joshua Hoffman <jhoffman23 at apple.com>
  Date:   2024-02-05 (Mon, 05 Feb 2024)

  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: Revert 272323 at main: unsafe calls to addUnconnectedNode (edit)
https://bugs.webkit.org/show_bug.cgi?id=268785
rdar://problem/122344819

Reviewed by Tyler Wilcock.

Bug https://bugs.webkit.org/show_bug.cgi?id=266608 introduced a new behavior
where we create isolated nodes for ignored objects in relations via
addUnconnectedNode. However, this call can be unsafe, particularly if
relations are updated (and unconnected nodes are added) as a result of
accessibilityIsIgnored.

This patch reverts that change and restores the behavior to retrieve
objects off of the main thread when they have no isolated object.

The behavior from https://bugs.webkit.org/show_bug.cgi?id=266608 will be
reintroduced once a mechanism to safely resolve nodes in addUnconnectedNode
is determined.

* 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:
(WebCore::AXIsolatedTree::objectsForIDs const): Deleted.

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




More information about the webkit-changes mailing list