Bug 259016

Summary: AX: When isolated tree mode is enabled, we should never eagerly spellcheck (except for testing)
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: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Tyler Wilcock 2023-07-08 12:32:05 PDT
In https://bugs.webkit.org/show_bug.cgi?id=256629, we added the ability to defer spellchecking when the requesting client is VoiceOver. This works well when isolated tree mode is disabled, since the only time we would decide whether to eagerly spellcheck or not would be in direct response to an assistive technology request.

However, isolated tree mode does work to update the tree outside of direct AT requests (e.g. from AXObjectCache::performDeferredCacheUpdate), meaning _AXGetClientForCurrentRequestUntrusted is not set. In turn, this means we eagerly spellcheck when caching attributed strings, which is a huge performance hit.
Comment 1 Radar WebKit Bug Importer 2023-07-08 12:32:16 PDT
<rdar://problem/111958889>
Comment 2 Tyler Wilcock 2023-07-08 12:35:58 PDT
Created attachment 466988 [details]
Patch
Comment 3 Tyler Wilcock 2023-07-08 14:13:06 PDT
Created attachment 466989 [details]
Patch
Comment 4 EWS 2023-07-08 16:42:17 PDT
Committed 265883@main (b19f7742cb0c): <https://commits.webkit.org/265883@main>

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