Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit bd10a433 authored by uazo's avatar uazo Committed by GitHub
Browse files

Disable Accessibility service by default (#1559)

* Disable Accessibility service by default

* fix not correct author

* fix, incorrect check, default false means inactive
parent a426d7f9
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 8 Nov 2021 09:47:23 +0000
Subject: Disable Accessibility service by default

---
 chrome/android/java/res/xml/accessibility_preferences.xml   | 5 +++++
 .../browser/ui/android/strings/android_chrome_strings.grd   | 6 ++++++
 .../browser/accessibility/WebContentsAccessibilityImpl.java | 5 +++++
 3 files changed, 16 insertions(+)

diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
+++ b/chrome/android/java/res/xml/accessibility_preferences.xml
@@ -5,6 +5,11 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
 
+    <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+        android:key="enable_accessibility"
+        android:summary="@string/enable_accessibility_summary"
+        android:title="@string/enable_accessibility_title" />
+
     <org.chromium.chrome.browser.accessibility.settings.TextScalePreference
         android:key="text_scale"
         android:title="@string/font_size"
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1279,6 +1279,12 @@ Your Google account may have other forms of browsing history like searches and a
       <message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
         Accessibility
       </message>
+      <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>
       <message name="IDS_FONT_SIZE" desc="Title for font size preference.">
         Text scaling
       </message>
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
@@ -774,6 +774,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
             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("");
-- 
2.20.1