Update Autofill's usage of BrowserAccessibilityState on Android

This CL updates how the Autofill Assistant checks whether or not a
service has requested spoken feedback on Android.

With this CL we continue our efforts to centralize the functionality of
BrowserAccessibilityState and keep important business logic out of
client classes. Rather than allowing classes to fetch the entirety of
the AccessibilityServiceInfo and perform their own operations (which
is often nuanced and prone to errors), we are favoring the approach of
surfacing the requested information directly to the client. In this
case, the Autofill Assistant is interested in knowing if any running
apps have requested spoken feedback, which can be provided with a simple
boolean rather than passing an aggregated AccessibilityServiceInfo. We
add a method for Autofill Assistant to fetch this information directly.

AX-Relnotes: N/A
Bug: 1362100
Change-Id: I1a540720caa90c7e312fc41f25f65e1e2ad54e6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3957855
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Reviewed-by: Sergio Vila Prado <sergiovila@google.com>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1061795}
9 files changed
tree: 40dbf1d94f13bc82c5def8da2899ed099e27d9c8
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. weblayer/
  51. .clang-format
  52. .clang-tidy
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitattributes
  56. .gitignore
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. codereview.settings
  66. DEPS
  67. DIR_METADATA
  68. ENG_REVIEW_OWNERS
  69. LICENSE
  70. LICENSE.chromium_os
  71. OWNERS
  72. PRESUBMIT.py
  73. PRESUBMIT_test.py
  74. PRESUBMIT_test_mocks.py
  75. README.md
  76. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.