Bug 1171995 - Part 4: Handle proxies in mozAccessible accessibilityAttributeNames r=tbsaunde

This commit is contained in:
Lorien Hu 2015-07-16 17:34:52 -04:00
parent db9d2df32f
commit 99cac85393

View File

@ -274,7 +274,8 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
// if we're expired, we don't support any attributes. // if we're expired, we don't support any attributes.
AccessibleWrap* accWrap = [self getGeckoAccessible]; AccessibleWrap* accWrap = [self getGeckoAccessible];
if (!accWrap) ProxyAccessible* proxy = [self getProxyAccessible];
if (!accWrap && !proxy)
return [NSArray array]; return [NSArray array];
static NSArray* generalAttributes = nil; static NSArray* generalAttributes = nil;
@ -333,11 +334,11 @@ ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray)
NSArray* objectAttributes = generalAttributes; NSArray* objectAttributes = generalAttributes;
if (accWrap->IsTable()) if ((accWrap && accWrap->IsTable()) || (proxy && proxy->IsTable()))
objectAttributes = tableAttrs; objectAttributes = tableAttrs;
else if (accWrap->IsTableRow()) else if ((accWrap && accWrap->IsTableRow()) || (proxy && proxy->IsTableRow()))
objectAttributes = tableRowAttrs; objectAttributes = tableRowAttrs;
else if (accWrap->IsTableCell()) else if ((accWrap && accWrap->IsTableCell()) || (proxy && proxy->IsTableCell()))
objectAttributes = tableCellAttrs; objectAttributes = tableCellAttrs;
NSArray* additionalAttributes = [self additionalAccessibilityAttributeNames]; NSArray* additionalAttributes = [self additionalAccessibilityAttributeNames];