[AXMode] Add policy for AccessibilityPerformanceFiltering

This CL adds the necessary infrastructure for an enterprise policy for
the AccessibilityPerformanceFiltering feature, currently only used on
Android. This infrastructure includes elements for both the policy and
corresponding pref:

* Policy yaml file and updated policies.yaml
* Corresponding pref mapped to policy with pref name defined in ui/
* AccessibilityPrefsController for registering 1) pref and 2) event
handler for communicating pref change to BrowserAccessibilityState
* New API in content/public/BrowserAccessibilityState for setting
accessibility pref state
* Implementation in BrowserAccessibilityStateImpl for setting and
getting accessibility pref state
* Conditional logic in WebContentsAccessibilityAndroid for pref to
enable AccessibilityPerformanceFiltering feature

Associated launch here: launch/4240411

AX-Relnotes: N/A
Bug: 1411856
Change-Id: I11dfbe9aa218700b6d292bab3b21db8949676253
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4539706
Reviewed-by: Mark Schillaci <[email protected]>
Reviewed-by: Owen Min <[email protected]>
Commit-Queue: Amanda Lin Dietz <[email protected]>
Reviewed-by: Dominic Battre <[email protected]>
Reviewed-by: Tommy Nyquist <[email protected]>
Auto-Submit: Amanda Lin Dietz <[email protected]>
Reviewed-by: Rakina Zata Amni <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1162523}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 6cd429f..cb39255 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -232,6 +232,7 @@
 #include "components/feed/core/shared_prefs/pref_names.h"
 
 #if BUILDFLAG(IS_ANDROID)
+#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
 #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
 #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
 #include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -1306,6 +1307,10 @@
   // Call outs to individual subsystems that register Local State (browser-wide)
   // prefs en masse. See RegisterProfilePrefs for per-profile prefs. Please
   // keep this list alphabetized.
+#if BUILDFLAG(IS_ANDROID)
+  accessibility::AccessibilityPrefsController::RegisterLocalStatePrefs(
+      registry);
+#endif
   browser_shutdown::RegisterPrefs(registry);
   BrowserProcessImpl::RegisterPrefs(registry);
   ChromeContentBrowserClient::RegisterLocalStatePrefs(registry);