RFR: 8329667: [macos] Issue with JTree related fix for JDK-8317771

Alexander Zuev kizune at openjdk.org
Sun May 19 06:36:06 UTC 2024


On Sat, 18 May 2024 18:39:42 GMT, Artem Semenov <asemenov at openjdk.org> wrote:

>> Caching children and selected children of the thee on the native level;
>> Caching all children of a specific parent in CAccessibility to enhance recursive children selection algorithm;
>> Removing fix for JDK-8317771 as no longer needed;
>
> src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m line 352:
> 
>> 350: {
>> 351:     AWT_ASSERT_APPKIT_THREAD;
>> 352:     if ([self respondsToSelector:NSSelectorFromString(@"invalidateSelectionCache")]) {
> 
> You can override this method for the tree. to avoid checking the selector support... This is a time-consuming procedure.

Sure.

> src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/OutlineAccessibility.h line 36:
> 
>> 34:     BOOL rowCacheValid;
>> 35:     NSMutableArray<id<NSAccessibilityRow>> *selectedRowCache;
>> 36:     BOOL selectedRowCacheValid;
> 
> And can we use a single array for the cache in the same way as we do in Table Accessibility?

They have different meanings and different content - plus selection being requested by OS much more frequently. And we do not want to invalidate the whole rows cache when selection changes - otherwise it will be pretty costly.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19255#discussion_r1605958647
PR Review Comment: https://git.openjdk.org/jdk/pull/19255#discussion_r1605958624


More information about the client-libs-dev mailing list