[Webkit-unassigned] [Bug 100275] Programmatically-inserted children lack accessibility events
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Dec 9 08:54:26 PST 2013
https://bugs.webkit.org/show_bug.cgi?id=100275
--- Comment #20 from chris fleizach <cfleizach at apple.com> 2013-12-09 08:52:39 PST ---
(In reply to comment #19)
> Created an attachment (id=218683)
--> (https://bugs.webkit.org/attachment.cgi?id=218683&action=review) [details]
> Patch proposal
>
> Chris, would you mind partly reviewing the patch again before I landed it?
>
> The reason for that is that I'm now in the WebKitGTK+ Hackfest[1] and both Joanie and me realized it would be a good idea to add an extra check before emitting the children-changed::add signal, to avoid getting notifications about objects that we can already (and quickly) now in advance won't get exposed.
>
> The only difference with the previous patch is that I added this check in attachWrapper():
>
> + // Don't emit the signal for objects that we already know won't be exposed
> + // directly for ATK. we don't want to use accessibilityObjectIsIgnoredByDefault()
> + // or other related methods (e.g. accessibilityIsIgnored()) here because those might
> + // trigger the execution of code that might be dangerous or just computationally
> + // excessive at this stage (creating new objects by traversing the accessibility tree).
> + AccessibilityObject* coreParent = obj->parentObjectUnignored();
> + if (!coreParent || coreParent->accessibilityPlatformIncludesObject() == IgnoreObject)
> + return;
> +
By calling
obj->parentObjectUnignored();
you still may end up calling accessibilityIsIgnored(). Since this is happening in attachWrapper, it seems OK because I don't think we create AX objects until they're requested (but i could be wrong)
>
> This addition alone prevents WebKitGTK+ from emitting a whole lot of signals about irrelevant objects in the webchat use case, leaving only those ones that matter, so I think it's a thing we should definitely add.
>
> The other difference with the previous patch is that I removed the waitUntilDone() bit in the layout test.
>
> Thanks, and sorry for bothering you one more time with this.
>
> [1] https://wiki.gnome.org/Hackfests/WebKitGTK2013
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list