Bug 234956

Summary: Cache the Widget associated with an AXObject on its AXIsolatedObject.
Product: WebKit Reporter: Andres Gonzalez <andresg_22>
Component: AccessibilityAssignee: Andres Gonzalez <andresg_22>
Status: RESOLVED INVALID    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, cfleizach, darin, 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 darin: review+

Description Andres Gonzalez 2022-01-07 07:30:02 PST
Cache the Widget associated with an AXObject on its AXIsolatedObject.
Comment 1 Radar WebKit Bug Importer 2022-01-07 07:30:15 PST
<rdar://problem/87250274>
Comment 2 Andres Gonzalez 2022-01-07 07:48:27 PST
Created attachment 448590 [details]
Patch
Comment 3 Darin Adler 2022-01-07 09:31:34 PST
Comment on attachment 448590 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=448590&action=review

> Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:2097
> +        [] (WeakPtr<Widget>& typedValue) -> Widget* { return typedValue.get(); },

I don’t think we need the "-> Widget*" on this line of code
Comment 4 Andres Gonzalez 2022-01-07 11:51:57 PST
In further discussion we concluded that it is problematic to store the Widget pointer in the cache since the object can be accessed from both thread with undefined behavior. The alternative solution is done in https://bugs.webkit.org/show_bug.cgi?id=234973. Closing this bug since it is not longer applicable.