| commit | 2469d759e3fe6a066300a7d4cc2ec24978692501 | [log] [tgz] |
|---|---|---|
| author | Julie Jeongeun Kim <jkim@igalia.com> | Wed Apr 08 11:18:34 2020 |
| committer | Commit Bot <commit-bot@chromium.org> | Wed Apr 08 11:18:34 2020 |
| tree | 0ee24238ed1fd2022d182429bdb15c62cd81a6cc | |
| parent | 932a003431a965340a7eea96326a45e84fac61d9 [diff] |
a11y: AXPlatformNodeBase::GetIndexInParent() returns base::Optional This fixes the regression issue from the CL[1] which moved the logic of GetIndexInParent to AXPlatformNodeBase. Before the CL[1], atk_object::GetIndexInParent returns -1 as an invalid value but AXPlatformNodeBase::GetIndexInParent returns positive numbers or 0 except the case when it's not implemented or doesn't have |delegate_|. AXPlatformNodeBase::GetIndexInParent is also used for the internal logic in AXPlatformNodeBase with the assumption that the return value is not less than 0. The CL[1] moved the logic to AXPlatformNodeBase::GetIndexInParent with keeping the rule that the return value is not less than 0. The problem is that screen reader such as Orca expects that it returns -1 when it's invalid. With this CL, AXPlatformNodeBase::GetIndexInParent() returns base::Optional and the caller has -1 if GetIndexInParent() returns base::nullopt. It also uses GetFirstChild and GetNextSibling for children iteration in GetHypertextOffsetFromChild() and GetHypertextOffsetFromEndpoint() instead of GetIndexInParent and GetChildAt. [1]https://crrev.com/c/2087234 Bug: 1065534 Change-Id: I00e2ed421ed263cf379ba22f55049fd52d32df9b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2129667 Commit-Queue: Julie Kim <jkim@igalia.com> Reviewed-by: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Martin Robinson <mrobinson@igalia.com> Reviewed-by: Joanmarie Diggs <jdiggs@igalia.com> Cr-Commit-Position: refs/heads/master@{#757381}
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.