Skip to content

Commit 05c741a

Browse files
committed
Bug 1876392: Ensure selector existence in MOXAccessibleBase moxUnignoredParent. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D199585
1 parent 4625bcf commit 05c741a

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

accessible/mac/MOXAccessibleBase.mm

+11-2
Original file line numberDiff line numberDiff line change
@@ -495,10 +495,19 @@ - (NSArray*)moxUnignoredChildren {
495495
}
496496

497497
- (id<mozAccessible>)moxUnignoredParent {
498-
id nativeParent = [self moxParent];
498+
id<mozAccessible> nativeParent = [self moxParent];
499+
if (!nativeParent) {
500+
return nil;
501+
}
499502

500503
if (![nativeParent isAccessibilityElement]) {
501-
return [nativeParent moxUnignoredParent];
504+
if ([nativeParent conformsToProtocol:@protocol(MOXAccessible)] &&
505+
[nativeParent respondsToSelector:@selector(moxUnignoredParent)]) {
506+
// Cast away the protocol so we can cast to another protocol.
507+
id bareNativeParent = nativeParent;
508+
id<MOXAccessible> moxNativeParent = bareNativeParent;
509+
return [moxNativeParent moxUnignoredParent];
510+
}
502511
}
503512

504513
return GetObjectOrRepresentedView(nativeParent);

0 commit comments

Comments
 (0)