Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: content/browser/accessibility/browser_accessibility_state_impl.cc

Issue 2581483002: Add support for faster, more limited accessibility modes. (Closed)
Patch Set: Android compile fix Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/browser_accessibility_state_impl.cc
diff --git a/content/browser/accessibility/browser_accessibility_state_impl.cc b/content/browser/accessibility/browser_accessibility_state_impl.cc
index 4c50bb32dd2fa96194868c70b952b22f6f582039..ff2e5d19bdca2e77a0e0a3be0b608242f623e1a1 100644
--- a/content/browser/accessibility/browser_accessibility_state_impl.cc
+++ b/content/browser/accessibility/browser_accessibility_state_impl.cc
@@ -17,6 +17,21 @@
namespace content {
+// IMPORTANT!
+// These values are written to logs. Do not renumber or delete
+// existing items; add new entries to the end of the list.
+enum {
+ UMA_AX_MODE_FLAG_NATIVE_APIS = 0,
+ UMA_AX_MODE_FLAG_WEB_CONTENTS = 1,
+ UMA_AX_MODE_FLAG_INLINE_TEXT_BOXES = 2,
+ UMA_AX_MODE_FLAG_SCREEN_READER = 3,
+ UMA_AX_MODE_FLAG_HTML = 4,
+
+ // This must always be the last enum. It's okay for its value to
+ // increase, but none of the other enum values may change.
+ UMA_AX_MODE_FLAG_MAX
+};
+
// Update the accessibility histogram 45 seconds after initialization.
static const int kAccessibilityHistogramDelaySecs = 45;
@@ -133,7 +148,38 @@ void BrowserAccessibilityStateImpl::AddAccessibilityModeFlags(
return;
}
+ AccessibilityMode previous_mode = accessibility_mode_;
accessibility_mode_ |= mode;
+ if (accessibility_mode_ == previous_mode)
+ return;
+
+ AccessibilityMode new_mode_flags = accessibility_mode_ & (~previous_mode);
+ if (new_mode_flags & ACCESSIBILITY_MODE_FLAG_NATIVE_APIS) {
+ UMA_HISTOGRAM_ENUMERATION("Accessibility.ModeFlag",
+ UMA_AX_MODE_FLAG_NATIVE_APIS,
+ UMA_AX_MODE_FLAG_MAX);
Ilya Sherman 2016/12/17 00:57:12 nit: Please factor out a function for recording to
dmazzoni 2016/12/19 22:51:50 Done.
+ }
+ if (new_mode_flags & ACCESSIBILITY_MODE_FLAG_WEB_CONTENTS) {
+ UMA_HISTOGRAM_ENUMERATION("Accessibility.ModeFlag",
+ UMA_AX_MODE_FLAG_WEB_CONTENTS,
+ UMA_AX_MODE_FLAG_MAX);
+ }
+ if (new_mode_flags & ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES) {
+ UMA_HISTOGRAM_ENUMERATION("Accessibility.ModeFlag",
+ UMA_AX_MODE_FLAG_INLINE_TEXT_BOXES,
+ UMA_AX_MODE_FLAG_MAX);
+ }
+ if (new_mode_flags & ACCESSIBILITY_MODE_FLAG_SCREEN_READER) {
+ UMA_HISTOGRAM_ENUMERATION("Accessibility.ModeFlag",
+ UMA_AX_MODE_FLAG_SCREEN_READER,
+ UMA_AX_MODE_FLAG_MAX);
+ }
+ if (new_mode_flags & ACCESSIBILITY_MODE_FLAG_HTML) {
+ UMA_HISTOGRAM_ENUMERATION("Accessibility.ModeFlag",
+ UMA_AX_MODE_FLAG_HTML,
+ UMA_AX_MODE_FLAG_MAX);
+ }
+
std::vector<WebContentsImpl*> web_contents_vector =
WebContentsImpl::GetAllWebContents();
for (size_t i = 0; i < web_contents_vector.size(); ++i)

Powered by Google App Engine
This is Rietveld 408576698