58 lines
3.4 KiB
Diff
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("");
|
|
--
|