[Webkit-unassigned] [Bug 230257] [GTK][a11y] Add implementation of component interface when building with ATSPI

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 8 07:59:02 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=230257

--- Comment #4 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to Andres Gonzalez from comment #3)
> (In reply to Carlos Garcia Campos from comment #1)
> > Created attachment 440592 [details]
> > Patch
> 
> --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
> +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
> 
> +    RefPtr<AXIsolatedObject> nodeForID(AXID) const;
> 
> nodeForID belongs to the tree not to the isolated object. I think it is a
> better design to keep it in AXIsolatedTree. Do you have a reason to move it
> to AXIsolatedObject?

Yes, I need it in AccessibilityObjectAtspi::hitTest() only because of WTR actually. Since WTR calls accessibility api from the web process main thread, I can't use AXIsolatedObject::accessibilityHitTest() because it's always expected to be called from the secondary thread (nodeForID only works from the a11y thread). I can't use callOnAXthreadAndWait, because first thing AXIsolatedObject::accessibilityHitTest() is retrieveValueFromMainThread() but main thread is blocked. So, I split it adding AccessibilityObjectAtspi::objectAtPoint() that is always called by the main thread and does the coordinate conversion + accessibilityHitTest(). When called from the main thread (WTR only) it's called directly and the wrapper object returned. When called from the AX thread I need the nodeForID() call to get the wrapper from the isolated object. 

I agree nodeForID doesn't belong to AXIsolatedObject, so the other solution would be to just make AXIsolatedObject::tree() public.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20211008/74405868/attachment.htm>


More information about the webkit-unassigned mailing list