Bug 235343

Summary: AX: Remove unnecessary isolated tree update for AXSelectedTextChanged node
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: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Tyler Wilcock
Reported 2022-01-18 16:44:49 PST
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.
Attachments
Patch (3.55 KB, patch)
2022-01-18 17:00 PST, Tyler Wilcock
no flags
Patch (3.55 KB, patch)
2022-01-18 17:02 PST, Tyler Wilcock
no flags
Radar WebKit Bug Importer
Comment 1 2022-01-18 16:45:02 PST
Tyler Wilcock
Comment 2 2022-01-18 17:00:43 PST
Tyler Wilcock
Comment 3 2022-01-18 17:02:23 PST
EWS
Comment 4 2022-01-19 11:43:01 PST
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].
Note You need to log in before you can comment on or make changes to this bug.