Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 66d891c

Browse files
committed
Bug 1688490: Make GetNativeFromGeckoAccessible null-safe. r=eeejay, a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D103813
1 parent ec3cc7b commit 66d891c

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

accessible/mac/mozAccessible.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ namespace a11y {
2727

2828
inline mozAccessible* GetNativeFromGeckoAccessible(
2929
mozilla::a11y::AccessibleOrProxy aAccOrProxy) {
30-
MOZ_ASSERT(!aAccOrProxy.IsNull(), "Cannot get native from null accessible");
30+
if (aAccOrProxy.IsNull()) {
31+
return nil;
32+
}
3133
if (Accessible* acc = aAccOrProxy.AsAccessible()) {
3234
mozAccessible* native = nil;
3335
acc->GetNativeInterface((void**)&native);

accessible/mac/mozSelectableElements.mm

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,12 @@ - (BOOL)moxIgnoreWithParent:(mozAccessible*)parent {
263263
// we override this method.
264264
AccessibleOrProxy parentAcc = [parent geckoAccessible];
265265
if (!parentAcc.IsNull()) {
266-
mozAccessible* directGrandparent =
267-
GetNativeFromGeckoAccessible(parentAcc.Parent());
268-
if ([directGrandparent isKindOfClass:[MOXWebAreaAccessible class]]) {
269-
return [parent moxIgnoreWithParent:directGrandparent];
266+
AccessibleOrProxy grandparentAcc = parentAcc.Parent();
267+
if (mozAccessible* directGrandparent =
268+
GetNativeFromGeckoAccessible(grandparentAcc)) {
269+
if ([directGrandparent isKindOfClass:[MOXWebAreaAccessible class]]) {
270+
return [parent moxIgnoreWithParent:directGrandparent];
271+
}
270272
}
271273
}
272274

0 commit comments

Comments
 (0)