
NSAccessibility expects the URL from the active, top-level document to be exposed on the NSWindow via accessibilityDocument. In order to reliably identify and return the correct URL, push it from the BrowserView to the root platform accessible object as follows: 1. Watch for TabChangedAt in BrowserView. 2. For TabChangeType::kLoadingOnly, for the active web contents which is no longer loading, update the accessible URL for the RootView. 3. Have the RootView set the URL on the ViewAccessibility object which will cause it to be added to that object's AXNodeData so it can be retrieved via the delegate. 4. Add getters to AXPlatformNodeDelegate and AXPlatformNodeBase, the latter being the superclass of the various AXPlatformNode* classes on macOS, Linux, and Windows). Test: `out/.../views_unittests --gtest_filter="*AccessibleURL*"` Test: `out/.../accessibility_unittests --gtest_filter="*AccessibleURL*"` Test: `out/.../unit_tests --gtest_filter="*AccessibleURL*"` Test: `out/.../browser_tests \ --gtest_filter="*.AccessibilityDocumentExposedOnWindow*"` Low-Coverage-Reason: COVERAGE_UNDERREPORTED * The change in native_widget_mac_nswindow.mm is covered by the updated test expectations in browser_window_mac_browsertest.mm. * Those in ax_platform_node_delegate.cc + ax_platform_node_base.cc are covered by tests in view_ax_platform_node_delegate_unittest.cc and ax_platform_node_auralinux_unittest.cc. Bug: 363275809 Change-Id: I486d31a0630a5da78390277bd0e11d546cf9ed7c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6187085 Reviewed-by: Jayson Adams <shrike@chromium.org> Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com> Reviewed-by: David Tseng <dtseng@chromium.org> Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com> Reviewed-by: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/main@{#1411899}
This directory contains UI frameworks used to build various user interface features. This directory is not intended to contain UI features (such as a keyboard).