Files
cromite/build/patches/Disable-Accessibility-service-by-default.patch

58 lines
3.4 KiB
Diff

From: uazo <uazo@users.noreply.github.com>
Date: Mon, 8 Nov 2021 09:47:23 +0000
Subject: Disable Accessibility service by default
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../Disable-Accessibility-service-by-default.grdp | 9 +++++++++
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/WebContentsAccessibilityImpl.java | 5 +++++
3 files changed, 19 insertions(+)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Disable-Accessibility-service-by-default.grdp
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Disable-Accessibility-service-by-default.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Disable-Accessibility-service-by-default.grdp
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Disable-Accessibility-service-by-default.grdp
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grit-part>
+ <message name="IDS_ENABLE_ACCESSIBILITY_TITLE" desc="Title of enable accessibility settings, which allows the user to enable service. [CHAR_LIMIT=32]">
+ Enable Accessibility Service
+ </message>
+ <message name="IDS_ENABLE_ACCESSIBILITY_SUMMARY" desc="Summary of enable accessibility settings.">
+ Activates or deactivates the communication of all user activities in ui to the Accessibility provider
+ </message>
+</grit-part>
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -11,6 +11,11 @@ found in the LICENSE file.
android:key="zoom_info"
android:title="@string/zoom_info_preference_title"/>
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="enable_accessibility"
+ android:summary="@string/enable_accessibility_summary"
+ android:title="@string/enable_accessibility_title" />
+
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
android:key="page_zoom_include_os_adjustment"
android:summary="@string/page_zoom_include_os_adjustment_summary"
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -1380,6 +1380,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
+ // Do not collect accessibility tree if disabled
+ if (!ContextUtils.getAppSharedPreferences().getBoolean("enable_accessibility", false)) {
+ structure.setChildCount(0);
+ return;
+ }
structure.setChildCount(1);
final ViewStructure viewRoot = structure.asyncNewChild(0);
viewRoot.setClassName("");
--