When we get an AXSelectedTextChanged notification, we update the isolated tree with the node that has gained selection. Sometimes this node is not a part of the AX tree, meaning its AXAncestorFlags are not initialized. This results in hitting this ASSERT in AXIsolatedObject::initializeAttributeData: // For all objects besides the root, the ancestry flags should've been set by now. ASSERT(isRoot || object.ancestorFlagsAreInitialized()); I don't think updating the isolated tree with this node is necessary. This behavior was added here to fix accessibility/mac/search-text/search-text.html: https://bugs.webkit.org/show_bug.cgi?id=208434 But the test passes in ITM with and without updating the isolated tree with this node. Also, for text selection related operations, isolated tree objects currently defer to the main thread (e.g. AXIsolatedObject::selectedText, AXIsolatedObject::selectedText), further leading me to believe this update is unnecessary.
<rdar://problem/87742260>
Created attachment 449453 [details] Patch
Created attachment 449454 [details] Patch
Committed r288220 (246180@main): <https://commits.webkit.org/246180@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 449454 [details].