[views-ax] Move transformation of bounds to screen-relative bounds This CL moves the transformation of bounds (from parent relative to screen relative) for a ViewAccessibility from ViewAccessibility::GetAccessibleNodeData to the AXViewObjectWrapper::Serialize and to wherever they're used in ViewAXPlatformNodeDelegate. This doesn't have perf implications since Serialize was calling GetAccessibleNodeData anyway. The reason for this change is so that we can keep the bounds cached in the AXNodeData member for ViewAccessibility updated whenever they change (will be done in a follow up CL) rather than being computed This could not be done if we moved the transformation to whenever the bounds changed on the view, since this transformation often involves an OS call that can be expensive. This also is in-line with what the other object wrappers are doing, which they do this transformation in their override for Serialize. This CL is part of the ViewsAX project: https://docs.google.com/document/d/1Ku7HOyDsiZem1yaV6ccZ-tz3lO2XR2NEcm8HjR6d-VY/edit#heading=h.ke1u3utej413 Bug: 325137417 Change-Id: Ida527ab737ae63c63230e2b58e1c40586e4367f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5602030 Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com> Commit-Queue: Javier Contreras <javiercon@microsoft.com> Cr-Commit-Position: refs/heads/main@{#1313667}
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.