Bug 235700

Summary: [GTK][a11y] Do not set the children count when serializing objects for the ATSPI cache
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, aperez, apinheiro, bugs-noreply, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white
Priority: P2 Keywords: Gtk
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 230253    
Attachments:
Description Flags
Patch aperez: review+

Description Carlos Garcia Campos 2022-01-27 01:59:43 PST
It's confusing the cache if things doesn't happen in the expected order. We handle the children by emitting the children-changed signals. When the children count is set in the cache by AddAccessible signal or as a response to GetItems, atspi sets the accessible children vector size to the given value. If children-changed:add is emitted after that, it's considered a new child and the children vector grows. So, we end up with the double of children, but half of them are just null.
Comment 1 Carlos Garcia Campos 2022-01-27 02:06:36 PST
Created attachment 450117 [details]
Patch
Comment 2 Adrian Perez 2022-01-27 05:26:37 PST
Comment on attachment 450117 [details]
Patch

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

> Source/WebCore/ChangeLog:8
> +        It's confusing the cache if things doesn't happen in the expected order. We handle the children by emitting the

s/doesn't happen/don't happen/
Comment 3 Carlos Garcia Campos 2022-01-27 23:01:06 PST
Committed r288726 (246519@trunk): <https://commits.webkit.org/246519@trunk>