blob: 229a9f09ffed2494c2690168911e24bd4361a998 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#import <Cocoa/Cocoa.h>
#include "base/metrics/histogram_macros.h"
@interface NSWorkspace (Partials)
@property(readonly) BOOL accessibilityDisplayShouldDifferentiateWithoutColor;
@property(readonly) BOOL accessibilityDisplayShouldIncreaseContrast;
@property(readonly) BOOL accessibilityDisplayShouldReduceTransparency;
@end
// Only available since 10.12.
@interface NSWorkspace (AvailableSinceSierra)
@property(readonly) BOOL accessibilityDisplayShouldReduceMotion;
@end
namespace content {
void BrowserAccessibilityStateImpl::PlatformInitialize() {}
void BrowserAccessibilityStateImpl::UpdatePlatformSpecificHistograms() {
// NOTE: This function is running on the file thread.
NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
SEL sel = @selector(accessibilityDisplayShouldIncreaseContrast);
if ([workspace respondsToSelector:sel]) {
UMA_HISTOGRAM_BOOLEAN(
"Accessibility.Mac.DifferentiateWithoutColor",
workspace.accessibilityDisplayShouldDifferentiateWithoutColor);
UMA_HISTOGRAM_BOOLEAN("Accessibility.Mac.IncreaseContrast",
workspace.accessibilityDisplayShouldIncreaseContrast);
UMA_HISTOGRAM_BOOLEAN(
"Accessibility.Mac.ReduceTransparency",
workspace.accessibilityDisplayShouldReduceTransparency);
UMA_HISTOGRAM_BOOLEAN(
"Accessibility.Mac.FullKeyboardAccessEnabled",
static_cast<NSApplication*>(NSApp).fullKeyboardAccessEnabled);
}
sel = @selector(accessibilityDisplayShouldReduceMotion);
if ([workspace respondsToSelector:sel]) {
UMA_HISTOGRAM_BOOLEAN("Accessibility.Mac.ReduceMotion",
workspace.accessibilityDisplayShouldReduceMotion);
}
}
} // namespace content