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.
<rdar://problem/111958889>
Created attachment 466988 [details] Patch
Created attachment 466989 [details] Patch
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].