This change moves all BrowserAccessibility* classes except for android from content/browser/accessibility to ui/accessibility/platform/
OneShotAccessibilityTreeSearch is also moved in this change, as it both depends on BrowserAccessibility, and is used by it.
Why is android not moved?
Android's implementation of BrowserAccessibility* is coupled
with the concept of web contents, and since Android does not use views, working to uncouple Android will arguably add more complexity than having the types split. See https://chromium-review.googlesource.com/c/chromium/src/+/5350788 for an example of what this would look like.
For unchanged code where we moved a file into ui and should now drop ui:: in the ui namespace, I'll be putting together a follow up change that does this for all of ui/accessibility. ui/accessibility/ already has heavy usage of ui:: within the ui namespace and leaving these changes out for now helps highlight any functional differences exist in these moved files.
Why do this at all?
Moving BrowserAccessibility and BrowserAccessibilityManager to the UI
layer will allow us to share the functionality of these classes with
Views as well, allowing us to have a consistent accessibility
implementation, while also enabling Views to utilize our caching
mechanisms, allowing us to stop recomputing everything on each
accessibility API call to views.
See Design Document for additional details: https://docs.google.com/document/d/1Ku7HOyDsiZem1yaV6ccZ-tz3lO2XR2NEcm8HjR6d-VY/edit#heading=h.dmka4gmkfbri
Bug: 40672441
Change-Id: I36b3c7913f059f77ddfaaa2b046976fb65062c8a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5520052
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Jacques Newman <janewman@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1346888}