Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Issue 2271893002: Creates AXPosition to uniquely identify a position in the accessibility tree (Closed)

Created:
4 years, 4 months ago by nektarios
Modified:
4 years, 2 months ago
CC:
aboxhall+watch_chromium.org, chromium-reviews, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, je_julie, nektar+watch_chromium.org, yuzo+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Creates AXPosition to uniquely identify a position in the accessibility tree. TESTED=manually, unit tests BUG=644604, 530826 R=dmazzoni@chromium.org, dtseng@chromium.org, avi@chromium.org, ellyjones@chromium.org Committed: https://crrev.com/9de71d4067f24c4e333b5bef4f1210c9395ba847 Cr-Commit-Position: refs/heads/master@{#426906}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Re-wrote implementation to include tree_id and platform specific AXPosition. #

Total comments: 4

Patch Set 3 : Created a factory. #

Total comments: 2

Patch Set 4 : Switched to using templates. #

Patch Set 5 : Switched to using templates. #

Patch Set 6 : Added more overrides. #

Patch Set 7 : Added test skeleton. #

Total comments: 5

Patch Set 8 : Implemented AXNodePosition. #

Patch Set 9 : Added overrides for parent and childAtIndex for BrowserAccessibility. #

Total comments: 16

Patch Set 10 : Implemented curiously recurring template pattern. #

Patch Set 11 : Added comment explaining curiously recursive template and fixed base types. #

Patch Set 12 : Added static casts where needed. #

Patch Set 13 : Addressed some of the comments by David and Dominic. #

Total comments: 1

Patch Set 14 : Fixed compilation error. #

Patch Set 15 : Fixed compilation error. #

Patch Set 16 : Fixed includes on the Mac. #

Patch Set 17 : Added a number of unit tests. #

Total comments: 8

Patch Set 18 : Made some improvements to tests. #

Patch Set 19 : Fixed most tests except CommonAncestor. #

Patch Set 20 : Added a few more tests. #

Patch Set 21 : Fixed all memory leaks. #

Patch Set 22 : Removed AXRange class. #

Total comments: 2

Patch Set 23 : Removed AXRange from build. #

Patch Set 24 : Made platform positions treat platform leaves correctly. #

Patch Set 25 : Strengthened unit tests for next/previous character a bit. #

Patch Set 26 : Fixed some compilation errors on the Mac. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1225 lines, -24 lines) Patch
M content/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +2 lines, -0 lines 0 comments Download
A content/browser/accessibility/ax_platform_position.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +38 lines, -0 lines 0 comments Download
A content/browser/accessibility/ax_platform_position.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +93 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 5 chunks +15 lines, -24 lines 0 comments Download
M ui/accessibility/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +4 lines, -0 lines 0 comments Download
A ui/accessibility/ax_node_position.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +40 lines, -0 lines 0 comments Download
A ui/accessibility/ax_node_position.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +79 lines, -0 lines 0 comments Download
A ui/accessibility/ax_node_position_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +564 lines, -0 lines 0 comments Download
A ui/accessibility/ax_position.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +390 lines, -0 lines 0 comments Download

Messages

Total messages: 60 (26 generated)
nektarios
4 years, 4 months ago (2016-08-23 23:18:45 UTC) #1
dmazzoni
This is looking like it's on the right track. Consider trying to implement Mac TextMarkers ...
4 years, 4 months ago (2016-08-24 05:46:59 UTC) #2
dmazzoni
https://codereview.chromium.org/2271893002/diff/20001/content/browser/accessibility/ax_platform_position.h File content/browser/accessibility/ax_platform_position.h (right): https://codereview.chromium.org/2271893002/diff/20001/content/browser/accessibility/ax_platform_position.h#newcode22 content/browser/accessibility/ax_platform_position.h:22: ui::AXTextAffinity get_affinity() { return affinity_; } I think this ...
4 years, 2 months ago (2016-10-03 18:22:51 UTC) #3
dmazzoni
https://codereview.chromium.org/2271893002/diff/40001/content/browser/accessibility/ax_platform_position.h File content/browser/accessibility/ax_platform_position.h (right): https://codereview.chromium.org/2271893002/diff/40001/content/browser/accessibility/ax_platform_position.h#newcode33 content/browser/accessibility/ax_platform_position.h:33: std::unique_ptr<ui::AXPositionFactory> factory = It's not necessarily a bad idea ...
4 years, 2 months ago (2016-10-04 20:08:24 UTC) #4
dmazzoni
https://codereview.chromium.org/2271893002/diff/120001/content/browser/accessibility/browser_accessibility_cocoa.mm File content/browser/accessibility/browser_accessibility_cocoa.mm (right): https://codereview.chromium.org/2271893002/diff/120001/content/browser/accessibility/browser_accessibility_cocoa.mm#newcode142 content/browser/accessibility/browser_accessibility_cocoa.mm:142: const AXPlatformPositionFactory factory; I'm assuming this needs to be ...
4 years, 2 months ago (2016-10-05 18:15:30 UTC) #9
nektarios
4 years, 2 months ago (2016-10-05 19:02:41 UTC) #11
dmazzoni
I'm a bit confused now because it seems like you have both templatization AND subclassing, ...
4 years, 2 months ago (2016-10-05 19:10:35 UTC) #12
nektarios
The idea was, as ingeniously suggested by Elly, to have: template<AXNodeType> static typename AXNodeType::AXPosition AXPosition<AXNodeType>::Create...(...) ...
4 years, 2 months ago (2016-10-06 16:34:25 UTC) #13
Elly Fong-Jones
On 2016/10/06 16:34:25, nektarios wrote: > The idea was, as ingeniously suggested by Elly, to ...
4 years, 2 months ago (2016-10-07 15:08:36 UTC) #14
nektarios
Hi Elly, The template pattern seems to work but I have a compilation error I ...
4 years, 2 months ago (2016-10-07 20:47:34 UTC) #15
David Tseng
Good start! Driving by as a potential customer/bug fixer. I am wondering, is AXPosition/AXRange defined ...
4 years, 2 months ago (2016-10-07 21:02:42 UTC) #17
nektarios
Adding Avi to the reviewers.
4 years, 2 months ago (2016-10-10 16:57:17 UTC) #20
dmazzoni
> > However, with the help of Avi we found a better design: > Curiously ...
4 years, 2 months ago (2016-10-10 17:22:04 UTC) #21
chromium-reviews
On 10/10/2016 1:21 PM, Dominic Mazzoni wrote: > > However, with the help of Avi ...
4 years, 2 months ago (2016-10-10 18:14:07 UTC) #22
dmazzoni
On Mon, Oct 10, 2016 at 11:14 AM 'Nektarios Paisios' via Chromium-reviews < chromium-reviews@chromium.org> wrote: ...
4 years, 2 months ago (2016-10-10 18:33:54 UTC) #23
chromium-reviews
Addressed some of David's comments. On 10/10/2016 2:27 PM, Dominic Mazzoni wrote: > On Mon, ...
4 years, 2 months ago (2016-10-10 19:40:17 UTC) #24
dmazzoni
OK, I see how it works now. I was confused because in your comment it ...
4 years, 2 months ago (2016-10-10 20:00:56 UTC) #25
dmazzoni
https://codereview.chromium.org/2271893002/diff/240001/ui/accessibility/ax_position.h File ui/accessibility/ax_position.h (right): https://codereview.chromium.org/2271893002/diff/240001/ui/accessibility/ax_position.h#newcode341 ui/accessibility/ax_position.h:341: virtual AXPosition<AXPositionType, AXNodeType>* GetChildPositionAt( Would it be simpler to ...
4 years, 2 months ago (2016-10-10 20:05:15 UTC) #26
dmazzoni
https://codereview.chromium.org/2271893002/diff/320001/ui/accessibility/ax_node_position.h File ui/accessibility/ax_node_position.h (right): https://codereview.chromium.org/2271893002/diff/320001/ui/accessibility/ax_node_position.h#newcode17 ui/accessibility/ax_node_position.h:17: class AX_EXPORT AXNodePosition : public AXPosition<AXNodePosition, AXNode> { Is ...
4 years, 2 months ago (2016-10-12 20:45:41 UTC) #39
nektarios
On 2016/10/12 at 20:45:41, dmazzoni wrote: > https://codereview.chromium.org/2271893002/diff/320001/ui/accessibility/ax_node_position.h > File ui/accessibility/ax_node_position.h (right): > > https://codereview.chromium.org/2271893002/diff/320001/ui/accessibility/ax_node_position.h#newcode17 ...
4 years, 2 months ago (2016-10-18 00:05:43 UTC) #40
nektarios
BUG and TESTED lines added. https://codereview.chromium.org/2271893002/diff/160001/content/browser/accessibility/ax_platform_position.h > File content/browser/accessibility/ax_platform_position.h (right): > > https://codereview.chromium.org/2271893002/diff/160001/content/browser/accessibility/ax_platform_position.h#newcode26 > content/browser/accessibility/ax_platform_position.h:26: ...
4 years, 2 months ago (2016-10-18 00:36:22 UTC) #41
dmazzoni
> > > https://codereview.chromium.org/2271893002/diff/160001/ui/accessibility/ax_position.h#newcode35 > > ui/accessibility/ax_position.h:35: int32_t get_anchor_id() const { return > anchor_id_; } ...
4 years, 2 months ago (2016-10-18 05:53:30 UTC) #43
dmazzoni
Tentative looks good, but would prefer to see you remove the unused code and upload ...
4 years, 2 months ago (2016-10-18 05:55:03 UTC) #44
dmazzoni
Tentative looks good, but would prefer to see you remove the unused code and upload ...
4 years, 2 months ago (2016-10-18 05:55:05 UTC) #45
nektarios
1. I removed all irrelevant code. 2. I changed all "get_..." methods and dropped the ...
4 years, 2 months ago (2016-10-18 23:03:19 UTC) #46
dmazzoni
https://codereview.chromium.org/2271893002/diff/420001/content/browser/accessibility/ax_platform_position.cc File content/browser/accessibility/ax_platform_position.cc (right): https://codereview.chromium.org/2271893002/diff/420001/content/browser/accessibility/ax_platform_position.cc#newcode15 content/browser/accessibility/ax_platform_position.cc:15: int32_t AXPlatformPosition::AnchorChildID(int child_index) const { I just realized that ...
4 years, 2 months ago (2016-10-18 23:59:12 UTC) #47
chromium-reviews
https://codereview.chromium.org/2271893002/diff/420001/content/browser/accessibility/ax_platform_position.cc > File content/browser/accessibility/ax_platform_position.cc (right): > > https://codereview.chromium.org/2271893002/diff/420001/content/browser/accessibility/ax_platform_position.cc#newcode15 > content/browser/accessibility/ax_platform_position.cc:15: int32_t > AXPlatformPosition::AnchorChildID(int child_index) const ...
4 years, 2 months ago (2016-10-20 00:21:54 UTC) #48
dmazzoni
lgtm
4 years, 2 months ago (2016-10-20 00:24:04 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2271893002/500001
4 years, 2 months ago (2016-10-20 22:46:32 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/286446)
4 years, 2 months ago (2016-10-20 23:20:14 UTC) #54
Avi (use Gerrit)
stampity stamp lgtm
4 years, 2 months ago (2016-10-21 20:08:46 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2271893002/500001
4 years, 2 months ago (2016-10-21 20:40:11 UTC) #57
commit-bot: I haz the power
Committed patchset #26 (id:500001)
4 years, 2 months ago (2016-10-21 21:57:29 UTC) #58
commit-bot: I haz the power
4 years, 2 months ago (2016-10-21 22:02:51 UTC) #60
Message was sent while issue was closed.
Patchset 26 (id:??) landed as
https://crrev.com/9de71d4067f24c4e333b5bef4f1210c9395ba847
Cr-Commit-Position: refs/heads/master@{#426906}

Powered by Google App Engine
This is Rietveld 408576698