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

Issue 909143003: Re-land: Implement NativeViewAccessibilityWin using AXPlatformNodeWin. (Closed)

Created:
5 years, 10 months ago by dmazzoni
Modified:
5 years, 10 months ago
Reviewers:
nektarios, David Tseng, sky
CC:
aboxhall+watch_chromium.org, chromium-reviews, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, plundblad+watch_chromium.org, tfarina, 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

Re-land: Implement NativeViewAccessibilityWin using AXPlatformNodeWin. AXPlatformNodeWin is an implementation of Windows accessibility APIs that doesn't know anything about content/ or ui/views/ - it just exposes an abstract tree of AXNodeData nodes and uses a delegate interface for everything else. This patch completely removes the Windows-specific views accessibility code and implements it using AXPlatformNodeWin instead. A future step will be to do the same with BrowserAccessibilityWin in content/. This patch also includes a new unit test for AXPlatformNodeWin, since it's now possible to test it without any views or web content code. Hooray! BUG=457564 Committed: https://crrev.com/f12318afda4d5bfd2f8a48eda4f0d7107e11f400 Cr-Commit-Position: refs/heads/master@{#317878} Committed: https://crrev.com/08b8639e0a7c0db180bf6ff8e2a4c54b103df3ef Cr-Commit-Position: refs/heads/master@{#317939}

Patch Set 1 #

Patch Set 2 : Fix compile errors #

Patch Set 3 : Fix compile errors #

Patch Set 4 : Fix test failure #

Patch Set 5 : Fix test failure and clean up comments #

Patch Set 6 : Add unit tests #

Total comments: 57

Patch Set 7 : Fix unit test #

Total comments: 4

Patch Set 8 : Fix compile error #

Patch Set 9 : Rebase #

Total comments: 21

Patch Set 10 : Fix compile error caused by rebase #

Patch Set 11 : Make GetData return reference #

Patch Set 12 : Working on GetParent and GetIndexInParent when there are child widgets #

Patch Set 13 : Finish GetParent #

Patch Set 14 : Rebase #

Patch Set 15 : Compile error on linux/mac #

Patch Set 16 : Fix compile again #

Patch Set 17 : New for loop syntax #

Patch Set 18 : Update GN build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2285 lines, -2218 lines) Patch
M ui/accessibility/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +13 lines, -0 lines 0 comments Download
M ui/accessibility/DEPS View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/accessibility/accessibility.gyp View 1 2 3 4 5 3 chunks +22 lines, -3 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +23 lines, -1 line 0 comments Download
M ui/accessibility/platform/ax_platform_node.cc View 1 2 3 4 5 6 1 chunk +13 lines, -2 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +39 lines, -2 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +235 lines, -14 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +50 lines, -4 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_mac.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M ui/accessibility/platform/ax_platform_node_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +12 lines, -2 lines 0 comments Download
A + ui/accessibility/platform/ax_platform_node_win.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +69 lines, -182 lines 0 comments Download
A ui/accessibility/platform/ax_platform_node_win.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +983 lines, -0 lines 0 comments Download
A ui/accessibility/platform/ax_platform_node_win_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +372 lines, -0 lines 0 comments Download
A ui/accessibility/platform/test_ax_node_wrapper.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +53 lines, -0 lines 0 comments Download
A ui/accessibility/platform/test_ax_node_wrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +120 lines, -0 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +29 lines, -14 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +185 lines, -23 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -3 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_win.h View 1 chunk +4 lines, -425 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_win.cc View 3 chunks +18 lines, -1511 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_win_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +36 lines, -29 lines 0 comments Download
M ui/views/controls/webview/webview.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +0 lines, -3 lines 0 comments Download

Messages

Total messages: 32 (7 generated)
dmazzoni
This change is large, sorry! Some of it is just moving code, but mostly it's ...
5 years, 10 months ago (2015-02-11 22:33:28 UTC) #2
David Tseng
https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.cc File ui/accessibility/platform/ax_platform_node.cc (right): https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.cc#newcode26 ui/accessibility/platform/ax_platform_node.cc:26: return NULL; nit: nullptr https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.h File ui/accessibility/platform/ax_platform_node.h (right): https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.h#newcode27 ...
5 years, 10 months ago (2015-02-13 20:10:11 UTC) #3
nektarios
Submitted a few comments. As a first pass, it looks fine overall. However, I would ...
5 years, 10 months ago (2015-02-13 22:44:29 UTC) #4
David Tseng
https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node_base.cc File ui/accessibility/platform/ax_platform_node_base.cc (right): https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node_base.cc#newcode52 ui/accessibility/platform/ax_platform_node_base.cc:52: return delegate_ ? delegate_->GetIndexInParent() : 0; On 2015/02/13 22:44:29, ...
5 years, 10 months ago (2015-02-13 23:34:25 UTC) #5
David Tseng
https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node_win.cc File ui/accessibility/platform/ax_platform_node_win.cc (right): https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node_win.cc#newcode24 ui/accessibility/platform/ax_platform_node_win.cc:24: base::LazyInstance<UniqueIdWinMap> g_unique_id_win_map = What are you mapping here? hwnd's ...
5 years, 10 months ago (2015-02-14 00:09:01 UTC) #6
dmazzoni
Ready for another look. https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.cc File ui/accessibility/platform/ax_platform_node.cc (right): https://codereview.chromium.org/909143003/diff/100001/ui/accessibility/platform/ax_platform_node.cc#newcode26 ui/accessibility/platform/ax_platform_node.cc:26: return NULL; On 2015/02/13 20:10:10, ...
5 years, 10 months ago (2015-02-17 22:48:06 UTC) #7
David Tseng
https://codereview.chromium.org/909143003/diff/120001/ui/accessibility/platform/ax_platform_node_win_unittest.cc File ui/accessibility/platform/ax_platform_node_win_unittest.cc (right): https://codereview.chromium.org/909143003/diff/120001/ui/accessibility/platform/ax_platform_node_win_unittest.cc#newcode132 ui/accessibility/platform/ax_platform_node_win_unittest.cc:132: EXPECT_EQ(L"Help", base::string16(help)); You can throw in some negative test ...
5 years, 10 months ago (2015-02-18 19:51:19 UTC) #8
dmazzoni
https://codereview.chromium.org/909143003/diff/120001/ui/accessibility/platform/ax_platform_node_win_unittest.cc File ui/accessibility/platform/ax_platform_node_win_unittest.cc (right): https://codereview.chromium.org/909143003/diff/120001/ui/accessibility/platform/ax_platform_node_win_unittest.cc#newcode132 ui/accessibility/platform/ax_platform_node_win_unittest.cc:132: EXPECT_EQ(L"Help", base::string16(help)); On 2015/02/18 19:51:19, David Tseng wrote: > ...
5 years, 10 months ago (2015-02-18 23:20:20 UTC) #9
David Tseng
lgtm
5 years, 10 months ago (2015-02-18 23:26:20 UTC) #10
dmazzoni
+sky for ui/views/
5 years, 10 months ago (2015-02-18 23:47:02 UTC) #12
sky
https://codereview.chromium.org/909143003/diff/160001/ui/accessibility/platform/ax_platform_node_delegate.h File ui/accessibility/platform/ax_platform_node_delegate.h (right): https://codereview.chromium.org/909143003/diff/160001/ui/accessibility/platform/ax_platform_node_delegate.h#newcode35 ui/accessibility/platform/ax_platform_node_delegate.h:35: // is mostly to implement support for walking the ...
5 years, 10 months ago (2015-02-19 16:40:33 UTC) #14
chromium-reviews
https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc#newcode122 > ui/views/accessibility/native_view_accessibility.cc:122: return 0; > If there is no parent than wouldn't -1 make ...
5 years, 10 months ago (2015-02-19 17:39:18 UTC) #15
dmazzoni
On 2015/02/19 16:40:33, sky wrote: > https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc#newcode123 > ui/views/accessibility/native_view_accessibility.cc:123: return > view_->parent()->GetIndexOf(view_); > Does this ...
5 years, 10 months ago (2015-02-23 18:54:20 UTC) #16
sky
On Mon, Feb 23, 2015 at 10:54 AM, <dmazzoni@chromium.org> wrote: > On 2015/02/19 16:40:33, sky ...
5 years, 10 months ago (2015-02-23 21:46:02 UTC) #17
dmazzoni
https://codereview.chromium.org/909143003/diff/160001/ui/accessibility/platform/ax_platform_node_delegate.h File ui/accessibility/platform/ax_platform_node_delegate.h (right): https://codereview.chromium.org/909143003/diff/160001/ui/accessibility/platform/ax_platform_node_delegate.h#newcode35 ui/accessibility/platform/ax_platform_node_delegate.h:35: // is mostly to implement support for walking the ...
5 years, 10 months ago (2015-02-24 04:53:59 UTC) #18
sky
https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc File ui/views/accessibility/native_view_accessibility.cc (right): https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc#newcode139 ui/views/accessibility/native_view_accessibility.cc:139: for (size_t i = 0; i < child_widgets.size(); ++i) ...
5 years, 10 months ago (2015-02-24 16:45:35 UTC) #19
dmazzoni
https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc File ui/views/accessibility/native_view_accessibility.cc (right): https://codereview.chromium.org/909143003/diff/160001/ui/views/accessibility/native_view_accessibility.cc#newcode139 ui/views/accessibility/native_view_accessibility.cc:139: for (size_t i = 0; i < child_widgets.size(); ++i) ...
5 years, 10 months ago (2015-02-24 17:48:44 UTC) #20
sky
LGTM
5 years, 10 months ago (2015-02-24 18:11:19 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/909143003/320001
5 years, 10 months ago (2015-02-24 18:51:44 UTC) #24
commit-bot: I haz the power
Committed patchset #17 (id:320001)
5 years, 10 months ago (2015-02-24 20:35:38 UTC) #25
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/f12318afda4d5bfd2f8a48eda4f0d7107e11f400 Cr-Commit-Position: refs/heads/master@{#317878}
5 years, 10 months ago (2015-02-24 20:36:19 UTC) #26
DaleCurtis
A revert of this CL (patchset #17 id:320001) has been created in https://codereview.chromium.org/949333002/ by dalecurtis@chromium.org. ...
5 years, 10 months ago (2015-02-24 21:10:26 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/909143003/340001
5 years, 10 months ago (2015-02-24 23:56:15 UTC) #30
commit-bot: I haz the power
Committed patchset #18 (id:340001)
5 years, 10 months ago (2015-02-25 01:25:32 UTC) #31
commit-bot: I haz the power
5 years, 10 months ago (2015-02-25 01:26:17 UTC) #32
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/08b8639e0a7c0db180bf6ff8e2a4c54b103df3ef
Cr-Commit-Position: refs/heads/master@{#317939}

Powered by Google App Engine
This is Rietveld 408576698