Bug 263248

Summary: AX: Isolated objects in the full tree may be accessed before the tree is completely built.
Product: WebKit Reporter: Andres Gonzalez <andresg_22>
Component: AccessibilityAssignee: Andres Gonzalez <andresg_22>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, tyler_w, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch none

Description Andres Gonzalez 2023-10-17 08:23:44 PDT
WebAccessibilityObjectWrapper accessibilityAttributeValue:AXPosition {
objectID 113
(role ScrollArea)
(parentObject 0)
(identifierAttribute )
(address 0x4b85da800)
(wrapper 0x15c11eec0)
} AXIsolatedTree::create exceeded ExecutionTimeThreshold 19.61s
} AXObjectCache::buildIsolatedTree exceeded ExecutionTimeThreshold 19.61s
} WebAccessibilityObjectWrapper accessibilityAttributeValue:AXPosition exceeded ExecutionTimeThreshold 7.36s

Note that the AXPosition request comes before the creation of the full tree completes, and the call goes to the new isolated object for the ScrollView which does not have this property cached, and hece has to hit the main thread.
Comment 1 Radar WebKit Bug Importer 2023-10-17 08:23:52 PDT
<rdar://problem/117075862>
Comment 2 Andres Gonzalez 2023-10-17 08:31:08 PDT
Created attachment 468247 [details]
Patch
Comment 3 EWS 2023-10-17 17:00:50 PDT
Committed 269435@main (e78c3391e4d1): <https://commits.webkit.org/269435@main>

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