Bug 236414

Summary: AXIsolatedTree::updateChildren and AXIsolatedTree::nodeAncestryChanges results in adding incorrect nodes to the isolated tree
Product: WebKit Reporter: Tyler Wilcock <tyler_w>
Component: AccessibilityAssignee: Tyler Wilcock <tyler_w>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
ews-feeder: commit-queue-
Patch none

Description Tyler Wilcock 2022-02-09 16:26:30 PST
Sometimes AXIsolatedTree::updateChildren is called with an object that is not in the isolated tree. When this happens, we currently call AXIsolatedTree::nodeAncestryChanges to build the ancestry chain up to the nearest in-isolated-tree node (starting with the original object called for updateChildren).

However, this seems to result in adding nodes to the isolated tree that don't exist in the live tree. I believe this also causes isolated objects to often hold references to parent objects that don't exist in the isolated tree, breaking searches (and more).
Comment 1 Radar WebKit Bug Importer 2022-02-09 16:26:41 PST
<rdar://problem/88721439>
Comment 2 Tyler Wilcock 2022-02-09 16:52:26 PST
Created attachment 451463 [details]
Patch
Comment 3 Tyler Wilcock 2022-02-09 16:54:10 PST
Created attachment 451465 [details]
Patch
Comment 4 Tyler Wilcock 2022-02-09 17:54:43 PST
Created attachment 451474 [details]
Patch
Comment 5 Tyler Wilcock 2022-02-09 17:58:38 PST
Created attachment 451475 [details]
Patch
Comment 6 Tyler Wilcock 2022-02-09 18:30:48 PST
Created attachment 451477 [details]
Patch
Comment 7 EWS 2022-02-10 08:37:54 PST
Committed r289537 (247068@main): <https://commits.webkit.org/247068@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451477 [details].