Remove expensive operator== from CKViewConfiguration & AccessibilityContext
Summary: `CKComponentAccessibilityContext::operator==` can be extremely expensive; it may invoke the `accessibilityLazyTextBlock` for its `CKComponentAccessibilityTextAttribute` members, and that can do a lot of string construction. I could refactor this to make it cheaper, e.g. by migrating to a function-pointer-and-context-object approach. But the easiest thing to do is to simply remove it; I don't think it's meaningfully used. Reviewed By: kevin0571 Differential Revision: D22322108 fbshipit-source-id: 82a0548d6dd28ec4adf2f3ba85705eabf665d100
This commit is contained in:
committed by
Facebook GitHub Bot
parent
7e7f431c66
commit
993dbef7b8
@@ -38,11 +38,6 @@
|
|||||||
sonar_additionalDataOverride;
|
sonar_additionalDataOverride;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
static BOOL AccessibilityContextIsDefault(
|
|
||||||
CKComponentAccessibilityContext accessibilityContext) {
|
|
||||||
return accessibilityContext == CKComponentAccessibilityContext();
|
|
||||||
}
|
|
||||||
|
|
||||||
static NSDictionary<NSString*, NSObject*>* AccessibilityContextDict(
|
static NSDictionary<NSString*, NSObject*>* AccessibilityContextDict(
|
||||||
CKComponentAccessibilityContext accessibilityContext) {
|
CKComponentAccessibilityContext accessibilityContext) {
|
||||||
NSMutableDictionary<NSString*, NSObject*>* accessibilityDict =
|
NSMutableDictionary<NSString*, NSObject*>* accessibilityDict =
|
||||||
@@ -234,12 +229,12 @@ static CK::StaticMutex _mutex = CK_MUTEX_INITIALIZER;
|
|||||||
// Only add accessibility panel if accessibilityContext is not default
|
// Only add accessibility panel if accessibilityContext is not default
|
||||||
CKComponentAccessibilityContext accessibilityContext =
|
CKComponentAccessibilityContext accessibilityContext =
|
||||||
[self viewConfiguration].accessibilityContext();
|
[self viewConfiguration].accessibilityContext();
|
||||||
if (!AccessibilityContextIsDefault(accessibilityContext)) {
|
NSDictionary* accessibilityDict =
|
||||||
[data addObject:[SKNamed
|
AccessibilityContextDict(accessibilityContext);
|
||||||
newWithName:@"Accessibility"
|
if ([accessibilityDict count]) {
|
||||||
|
[data addObject:[SKNamed newWithName:@"Accessibility"
|
||||||
withValue:@{
|
withValue:@{
|
||||||
@"accessibilityContext" :
|
@"accessibilityContext" : accessibilityDict,
|
||||||
AccessibilityContextDict(accessibilityContext),
|
|
||||||
@"accessibilityEnabled" : SKMutableObject(
|
@"accessibilityEnabled" : SKMutableObject(
|
||||||
@(CK::Component::Accessibility::
|
@(CK::Component::Accessibility::
|
||||||
IsAccessibilityEnabled())),
|
IsAccessibilityEnabled())),
|
||||||
|
|||||||
Reference in New Issue
Block a user