On Wed, 17 May 2023 20:31:27 GMT, Alexander Zuev <kiz...@openjdk.org> wrote:
>> Add the common base component for all the new implementing native classes >> Change native peer creation to use the new base component The new code will >> instantiate new protocol implementation for the given role if it exists or >> an old one if it does not exist >> Added BUTTON role implementing class > > Alexander Zuev has updated the pull request incrementally with one additional > commit since the last revision: > > Properly use NSObject instead of the GlassAccessible type. Initial testing looks good. I'll do more testing soon. I did get a one-time exception while playing around with Ensemble8, I can't reproduce it. It was in the existing code, so it might be unrelated to your change. I left a couple inline questions. I noticed that your branch is about 3 months out of date. Can you merge the latest master. modules/javafx.graphics/src/main/native-glass/mac/a11y/AccessibleBase.m line 124: > 122: > 123: // Actions support > 124: - (BOOL)performAccessibleAction:(jlong)actionId Would it make sense to have this parameter be an `NSString` (like the similar method in `GlassAcessible`) and do the cast to `jlong` in this method rather than having all the callers do it? Of course, that only works if all of the calls will use NSString, so what you have is more flexible. modules/javafx.graphics/src/main/native-glass/mac/a11y/AccessibleBase.m line 206: > 204: NSObject* accessible = (NSObject*)jlong_to_ptr(macAccessible); > 205: return ptr_to_jlong(NSAccessibilityUnignoredAncestor(accessible)); > 206: } Why was this method moved from GlassAccessible.m to here? It seems fine, I was just curious. ------------- PR Review: https://git.openjdk.org/jfx/pull/1084#pullrequestreview-1437812622 PR Review Comment: https://git.openjdk.org/jfx/pull/1084#discussion_r1201258731 PR Review Comment: https://git.openjdk.org/jfx/pull/1084#discussion_r1201254372