mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
Bug 1626036 - Cache CURRENT state in Mac. r=morgan
This allows us to not pull in attributes for every accessible. Differential Revision: https://phabricator.services.mozilla.com/D69132 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
df0924d72a
commit
9d0aad6f8b
@ -246,7 +246,7 @@ static inline NSMutableArray* ConvertToNSArray(nsTArray<ProxyAccessible*>& aArra
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const uint64_t kCachedStates =
|
static const uint64_t kCachedStates =
|
||||||
states::CHECKED states::PRESSED | states::MIXED | states::EXPANDED;
|
states::CHECKED | states::PRESSED | states::MIXED | states::EXPANDED | states::CURRENT;
|
||||||
static const uint64_t kCacheInitialized = ((uint64_t)0x1) << 63;
|
static const uint64_t kCacheInitialized = ((uint64_t)0x1) << 63;
|
||||||
|
|
||||||
- (uint64_t)state {
|
- (uint64_t)state {
|
||||||
@ -328,7 +328,11 @@ static const uint64_t kCacheInitialized = ((uint64_t)0x1) << 63;
|
|||||||
}
|
}
|
||||||
if ([attribute isEqualToString:NSAccessibilityValueAttribute]) return [self value];
|
if ([attribute isEqualToString:NSAccessibilityValueAttribute]) return [self value];
|
||||||
if ([attribute isEqualToString:NSAccessibilityARIACurrentAttribute]) {
|
if ([attribute isEqualToString:NSAccessibilityARIACurrentAttribute]) {
|
||||||
return utils::GetAccAttr(self, "current");
|
if ([self stateWithMask:states::CURRENT]) {
|
||||||
|
return utils::GetAccAttr(self, "current");
|
||||||
|
} else {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ([attribute isEqualToString:NSAccessibilityRoleDescriptionAttribute])
|
if ([attribute isEqualToString:NSAccessibilityRoleDescriptionAttribute])
|
||||||
return [self roleDescription];
|
return [self roleDescription];
|
||||||
|
Loading…
Reference in New Issue
Block a user