Re-land: Add Chrome OS accessibility histograms.

BUG=99504
TBR=joi

Review URL: https://codereview.chromium.org/11414232

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170786 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/accessibility/browser_accessibility_state_impl.cc b/content/browser/accessibility/browser_accessibility_state_impl.cc
index 8e7fde1..44a8d29 100644
--- a/content/browser/accessibility/browser_accessibility_state_impl.cc
+++ b/content/browser/accessibility/browser_accessibility_state_impl.cc
@@ -80,9 +80,17 @@
   return (accessibility_mode_ == AccessibilityModeComplete);
 }
 
+void BrowserAccessibilityStateImpl::AddHistogramCallback(
+    base::Closure callback) {
+  histogram_callbacks_.push_back(callback);
+}
+
 void BrowserAccessibilityStateImpl::UpdateHistogram() {
   UpdatePlatformSpecificHistograms();
 
+  for (size_t i = 0; i < histogram_callbacks_.size(); ++i)
+    histogram_callbacks_[i].Run();
+
   UMA_HISTOGRAM_BOOLEAN("Accessibility.State", IsAccessibleBrowser());
   UMA_HISTOGRAM_BOOLEAN("Accessibility.InvertedColors",
                         gfx::IsInvertedColorScheme());