Bug 1876392: Ensure selector existence in MOXAccessibleBase moxUnignoredParent. r=eeejay

Differential Revision: https://phabricator.services.mozilla.com/D199585
This commit is contained in:
Brad Werth 2024-02-08 17:43:09 +00:00
Родитель 4625bcfcb6
Коммит 05c741a534
1 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -495,10 +495,19 @@ mozilla::LogModule* GetMacAccessibilityLog() {
}
- (id<mozAccessible>)moxUnignoredParent {
id nativeParent = [self moxParent];
id<mozAccessible> nativeParent = [self moxParent];
if (!nativeParent) {
return nil;
}
if (![nativeParent isAccessibilityElement]) {
return [nativeParent moxUnignoredParent];
if ([nativeParent conformsToProtocol:@protocol(MOXAccessible)] &&
[nativeParent respondsToSelector:@selector(moxUnignoredParent)]) {
// Cast away the protocol so we can cast to another protocol.
id bareNativeParent = nativeParent;
id<MOXAccessible> moxNativeParent = bareNativeParent;
return [moxNativeParent moxUnignoredParent];
}
}
return GetObjectOrRepresentedView(nativeParent);