commit | 31e5188ffc9a04295997d22bfdb68fc367bef047 | [log] [tgz] |
---|---|---|
author | Nektarios Paisios <nektar@chromium.org> | Tue May 05 22:17:12 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Tue May 05 22:17:12 2020 |
tree | 1c24c23121428f3bd65494541a980ed5d7e1ab76 | |
parent | f17869b1c8bcb07e7b3f241236260cf75321e149 [diff] |
Used some methods from AXRoleProperties in AXObject Throughout the browser process, characteristics of accessible objects are determined by code in ui/accessibility/ax_role_properties.cc. This patch uses some of this code in Blink and deletes the Blink specific code from AXObject. This makes the code more consistent between the browser and renderer, as well as remove code duplication. Issues identified and fixed: 1. IsClickable on the browser didn't include activatable objects, such as text fields, meter elements and spin buttons. For UI Automation, I carefully looked at the list of roles that support the Invoke pattern at https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-controlpatternmapping I made sure that all activatable controls didn't accidentally get the Invoke pattern. 2. Virtual methods that were updated were also moved to the cc file, per the C++ Style Guide which says that virtual methods should not be inlined. 3. Methods in AXObject that determine the subclass type should be in their own block in the header file, but many were not, so I moved them there. I observed that layout tables are always included in Blink, which is inconsistent from the browser's behavior. However, I left any changes in this area for a future patch. R=dmazzoni@chromium.org, aleventhal@chromium.org Relnotes: N/A. Change-Id: I19db307b258feb959ff68bcad40b7a7d1c39b9d5 Bug: 882660 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2167429 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Auto-Submit: Nektarios Paisios <nektar@chromium.org> Cr-Commit-Position: refs/heads/master@{#765785}
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.
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.