New issue
Advanced search Search tips
Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Refactor BrowserAccessibility to use ui::AXPlatformNode

Project Member Reported by dougt@chromium.org, Mar 20 2017 Back to list

Issue description

Objective

Currently in chromium, there are two areas of code that provide low-level operating system Accessibility APIs.

ui/accessibility/platform/*

content/browser/accessibility/browser_accessibility*

In order to reduce some complexity and code, we’d to remove code that interacts with the native accessibility APIs from content. This will also enable feature parity between Views and Chrome Content It will make supporting foreign accessibility trees easier (i.e. PDF could go directly to the browser rather than via its host web page), and we could maybe support remote desktop accessibility someday Finally, it'd allow us to do things like the COM proxy idea to avoid injected DLLs.

Overview

On the content/ side, there exists a class called BrowserAccessibility which is exactly one node in the accessibility tree.  It provides a number of methods to find boundaries, walk the accessibility tree, and access internals.  In addition, BrowserAccessibility has subclasses on each platforms that handle interacting with the host operating system.  For example, on Windows, BrowserAccessibilityWin (a subclass of BrowserAccessibility) implements IAccessible2 et. al.

On the ui/ side, we also have a set of classes in ui/accessibility/platform/ which interact with the host operating system as well.

Eventual Goal

BrowserAccessibility would inherit from AXPlatformNodeDelegate and own a AXPlatformNode.

The code in ui/accessibility/platform becomes the ONLY implementation of platform-native accessibility APIs, but it has no understanding of things like renderers, frames, and other "how Chrome implements the web" details. It would understand web-specific things like live regions and some web-specific roles, but it wouldn't have to understand too many implementation details, just how to map those to native APIs.

The code in content/browser/accessibility becomes the glue code that maps the accessibility data we get from a web renderer, into a tree of AXPlatformNode objects that implement the native API on each platform. It knows about renderers and iframes and stuff like that, but it doesn't have much platform-specific code anymore.

No code outside of ui/accessibility/platform or content/browser/accessibility should be affected. In particular this is completely orthogonal to any changes to Blink code.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2653b40a23ed879d175abda534f9d24e83495a2

commit e2653b40a23ed879d175abda534f9d24e83495a2
Author: dougt <dougt@chromium.org>
Date: Thu Mar 23 22:09:44 2017

Rename BrowserAccessibility::GetParent to PlatformGetParent.

In prep of refactoring BrowserAccessibility, we are renaming
BrowserAccessibility::GetParent to BrowserAccessibility::PlatformGetParent
to avoid a conflict with AXPlatformNodeDelegate::GetParent.

BUG=703369

Review-Url: https://codereview.chromium.org/2761853004
Cr-Commit-Position: refs/heads/master@{#459246}

[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/ax_platform_position.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_auralinux.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_manager.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_manager_unittest.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/one_shot_accessibility_tree_search.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/accessibility/site_per_process_accessibility_browsertest.cc
[modify] https://crrev.com/e2653b40a23ed879d175abda534f9d24e83495a2/content/browser/web_contents/web_contents_android.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8abfeeb28cc7c6a4fb2bfeca1da3dc82d13ea24b

commit 8abfeeb28cc7c6a4fb2bfeca1da3dc82d13ea24b
Author: dougt <dougt@chromium.org>
Date: Fri Mar 24 06:46:49 2017

DLL Export AXPlatformNodeWin.

In order to use ui::AXPlatformNodeWin from content, we must dll export
these classes.

BUG=703369

Review-Url: https://codereview.chromium.org/2766463002
Cr-Commit-Position: refs/heads/master@{#459376}

[modify] https://crrev.com/8abfeeb28cc7c6a4fb2bfeca1da3dc82d13ea24b/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15dcbd89eadd0958c8347a9dee7a26f7d8f614f6

commit 15dcbd89eadd0958c8347a9dee7a26f7d8f614f6
Author: dougt <dougt@chromium.org>
Date: Fri Mar 24 19:15:47 2017

Make BrowserAccessibility implement AXPlatformNodeDelegete.

As part of the fefactoring of BrowserAccessibility, we want to end up with
BrowserAccessibility inheriting from AXPlatformNodeDelegate and owning a
AXPlatformNode. This change has BrowserAccessibility implmenting a
AXPlatformNodeDelegete.  This implementation should do nothing.

BUG=703369

Review-Url: https://codereview.chromium.org/2759113004
Cr-Commit-Position: refs/heads/master@{#459511}

[modify] https://crrev.com/15dcbd89eadd0958c8347a9dee7a26f7d8f614f6/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/15dcbd89eadd0958c8347a9dee7a26f7d8f614f6/content/browser/accessibility/browser_accessibility.h

Labels: NewComponent-Accessibility-Internals NewComponent-Accessibility
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5ec1039bc225dfb4221c0c5f387a37cd87fc33a1

commit 5ec1039bc225dfb4221c0c5f387a37cd87fc33a1
Author: dougt <dougt@chromium.org>
Date: Wed Mar 29 05:40:10 2017

BrowserAccessibility should own a AXPlatformNode.

As part of the refacting of BrowserAccessibility, BrowserAccessibility will
create and own a AXPlatformNode.  BrowserAccessibility will forward
IAccessible* and related calls to the AXPlatformNode.

This change simple creates the object and does nothing with it.

BUG=703369

Review-Url: https://codereview.chromium.org/2763803002
Cr-Commit-Position: refs/heads/master@{#460289}

[modify] https://crrev.com/5ec1039bc225dfb4221c0c5f387a37cd87fc33a1/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/5ec1039bc225dfb4221c0c5f387a37cd87fc33a1/content/browser/accessibility/browser_accessibility.h

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f99a6f415f9a0caaae84ed0a768b8c63e3fceb3

commit 9f99a6f415f9a0caaae84ed0a768b8c63e3fceb3
Author: dougt <dougt@chromium.org>
Date: Fri Apr 07 20:11:06 2017

Implement BrowserAccessibility accLocation in terms of AXPlatformNodeWin.

Here we are implementing one IAccessibility method, accLocation(), in terms of
ui::AXPlatformNodeWin. The idea is that we can forward IAccessibility calls to
ui::AXPlatformNodeWin and then slowly trim down, and maybe remove,
BrowserAccessibilityWin.

This CL adds a small helper method that allows the cast conversation of
platform_node_, which is created in AXPlatformNode, from a AXPlatformNode to
AXPlatformNodeWin. If this result is nullptr, we will fall back to using the
BrowserAccessibilityWin implementation.

BUG=703369

Review-Url: https://codereview.chromium.org/2763043002
Cr-Commit-Position: refs/heads/master@{#462978}

[modify] https://crrev.com/9f99a6f415f9a0caaae84ed0a768b8c63e3fceb3/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/9f99a6f415f9a0caaae84ed0a768b8c63e3fceb3/content/browser/accessibility/browser_accessibility_win.h

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c756e00873d3dfe7c07609a3b4f21885a552b1f

commit 8c756e00873d3dfe7c07609a3b4f21885a552b1f
Author: dougt <dougt@chromium.org>
Date: Mon Apr 10 15:39:37 2017

Implement BrowserAccessibility accNavigate() in terms of AXPlatformNodeWin.

Here we are implementing one more IAccessibility method, accNavigate(), in
terms of ui::AXPlatformNodeWin. The idea is that we can forward
IAccessibility calls to ui::AXPlatformNodeWin and then slowly trim down,
and maybe remove, BrowserAccessibilityWin.

Note that this does not forward NAVDIR_. That will be a follow up.

BUG=703369

patch from issue 2789333002 at patchset 40001 (http://crrev.com/2789333002#ps40001)

Review-Url: https://codereview.chromium.org/2806963002
Cr-Commit-Position: refs/heads/master@{#463273}

[modify] https://crrev.com/8c756e00873d3dfe7c07609a3b4f21885a552b1f/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/8c756e00873d3dfe7c07609a3b4f21885a552b1f/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a3aeb67d211a7c37fc2ce6355898d27fdfdad04

commit 6a3aeb67d211a7c37fc2ce6355898d27fdfdad04
Author: dougt <dougt@chromium.org>
Date: Tue Apr 18 18:08:16 2017

AXPlatformNodeWin implements IAccessibility. Many of these MSAA methods take a
var_id parameter indicating that the operation should be performed on a
particular child ID, rather than the called object.

This CL mimics the approach taken by BrowserAccessibilityWin.

BUG=703369

Review-Url: https://codereview.chromium.org/2806093002
Cr-Commit-Position: refs/heads/master@{#465288}

[modify] https://crrev.com/6a3aeb67d211a7c37fc2ce6355898d27fdfdad04/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/6a3aeb67d211a7c37fc2ce6355898d27fdfdad04/ui/accessibility/platform/ax_platform_node_win.h

Components: Internals>Accessibility
Components: -UI>Accessibility
Labels: -newcomponent-accessibility-internals -newcomponent-accessibility
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c9b90603321c436e6f892be5435fed84eff857a

commit 0c9b90603321c436e6f892be5435fed84eff857a
Author: dougt <dougt@chromium.org>
Date: Sat Apr 22 21:22:39 2017

Implement GetParent, GetChildCount, ChildAtIndex on BrowserAccessibility

BUG=703369

Review-Url: https://codereview.chromium.org/2816273002
Cr-Commit-Position: refs/heads/master@{#466552}

[modify] https://crrev.com/0c9b90603321c436e6f892be5435fed84eff857a/content/browser/accessibility/browser_accessibility.cc

Project Member

Comment 14 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/851c752c37f7400ce870f46bfcaaa0d65742f15f

commit 851c752c37f7400ce870f46bfcaaa0d65742f15f
Author: dougt <dougt@chromium.org>
Date: Mon May 01 21:23:01 2017

Drop the retargeting of accNavigate in BrowserAccessibilityWin

AXPlatformNode already retargets based on the start variant, so we can drop
the GetTargetFromChildID call for GetPlatformNodeWin()->accNavigate.

BUG=703369

Review-Url: https://codereview.chromium.org/2851093002
Cr-Commit-Position: refs/heads/master@{#468412}

[modify] https://crrev.com/851c752c37f7400ce870f46bfcaaa0d65742f15f/content/browser/accessibility/browser_accessibility_win.cc

Project Member

Comment 17 by bugdroid1@chromium.org, May 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee

commit 6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee
Author: dougt <dougt@chromium.org>
Date: Wed May 10 06:03:54 2017

Split out the MSCOM pieces of BrowserAccessibilityWin into a seperate class.

This CL splits out all of the MSCOM stuff in BrowserAccessibilityWin into to a
new class BrowserAccessibilityComWin. This allows us to more easily to reuse
the AXPlatformNodeWin.

The way this works is that BrowserAccessibilityWin creates and owns a COM
object named |browser_accessibility_com_|.  BrowserAccessibilityWin continues
to implement BrowserAccessibility but all interactions with Windows is done
through the BrowserAccessibilityComWin object.

BrowserAccessibilityComWin is created with both a delegate for
AXPlatformNodeWin usage as well as a backpointer to BrowserAccessibilityWin so
it can call back into BrowserAccessibility. Ownership is such that:

BrowserAccessibilityWin owns one reference on BrowserAccessibilityComWin.  When
BrowserAccessibilityWin goes away, it nulls out the backpointer and delegate
pointer rendering the BrowserAccessibilityComWin potentially still alive but
basically useless.

Note that this split is similar to how MacOS is implemented.

BUG=703369

Review-Url: https://codereview.chromium.org/2864953002
Cr-Commit-Position: refs/heads/master@{#470493}

[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/BUILD.gn
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/accessibility_event_recorder_win.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/accessibility_tree_formatter_win.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/accessibility_win_browsertest.cc
[add] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_com_win.cc
[add] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_manager_unittest.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_win.h
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/accessibility/browser_accessibility_win_unittest.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/renderer_host/legacy_render_widget_host_win.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/6b5b4cd8b3f76c0c4ad01e69b3f137604a9a21ee/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 18 by bugdroid1@chromium.org, May 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7a5ce801c1afa20f33bca1d8f6b059d20b76fc40

commit 7a5ce801c1afa20f33bca1d8f6b059d20b76fc40
Author: dougt <dougt@chromium.org>
Date: Wed May 10 06:23:34 2017

BrowserAccessibilityWin precondition only needs to check for a valid owner

BUG=703369

Review-Url: https://codereview.chromium.org/2874443002
Cr-Commit-Position: refs/heads/master@{#470501}

[modify] https://crrev.com/7a5ce801c1afa20f33bca1d8f6b059d20b76fc40/content/browser/accessibility/browser_accessibility_com_win.cc

Project Member

Comment 24 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e9e4777c60d6d7277520da3733346b2b7cda04fa

commit e9e4777c60d6d7277520da3733346b2b7cda04fa
Author: nektar <nektar@chromium.org>
Date: Fri May 12 02:38:49 2017

Fixed crash in accessibility code in LegacyRenderWidgetHost.

R=dougt@chromium.org, dmazzoni@chromium.org, ananta@chromium.org
BUG=703369
TESTED=Manually with Jaws 18

Review-Url: https://codereview.chromium.org/2879623003
Cr-Commit-Position: refs/heads/master@{#471191}

[modify] https://crrev.com/e9e4777c60d6d7277520da3733346b2b7cda04fa/content/browser/renderer_host/legacy_render_widget_host_win.cc

Project Member

Comment 26 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df2eff4a9cd6e379198f2c7cebdf6a11ea7157c1

commit df2eff4a9cd6e379198f2c7cebdf6a11ea7157c1
Author: dougt <dougt@chromium.org>
Date: Tue May 23 01:12:18 2017

Force AXPlatformNode to have the same unique id as the owning BA object.

This CL allows us to override the AXPlatformNode's GetFromUniqueId
method.  In BrowserAccessibilityComWin we implement this by using the
BrowserAccessibility GetFromUniqueId.

BUG=703369

Review-Url: https://codereview.chromium.org/2894673003
Cr-Commit-Position: refs/heads/master@{#473771}

[modify] https://crrev.com/df2eff4a9cd6e379198f2c7cebdf6a11ea7157c1/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/df2eff4a9cd6e379198f2c7cebdf6a11ea7157c1/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/df2eff4a9cd6e379198f2c7cebdf6a11ea7157c1/ui/accessibility/platform/ax_platform_node.h

Project Member

Comment 27 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6458fe10187e3a93348f6f15551ad82551f7c44c

commit 6458fe10187e3a93348f6f15551ad82551f7c44c
Author: dougt <dougt@chromium.org>
Date: Tue May 23 03:52:52 2017

Implement a few BrowserAccessibilityComWin methods with AXPlatformNodeWin.

In this CL, we will implement the following in terms of AXPlatformNodeWin:

get_accChild
get_accChildCount
get_accDefaultAction
get_accDescription
get_accFocus
get_accParent
accDoDefaultAction

BUG=703369

Review-Url: https://codereview.chromium.org/2891913005
Cr-Commit-Position: refs/heads/master@{#473803}

[modify] https://crrev.com/6458fe10187e3a93348f6f15551ad82551f7c44c/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/6458fe10187e3a93348f6f15551ad82551f7c44c/content/browser/accessibility/browser_accessibility_com_win.cc

Project Member

Comment 28 by bugdroid1@chromium.org, May 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebe52af6c0285feef6f776dfd95669123315e525

commit ebe52af6c0285feef6f776dfd95669123315e525
Author: dougt <dougt@chromium.org>
Date: Wed May 31 02:50:51 2017

Forward BrowserAccessibility get_accRole to AXPlatformNode.

This is another migration from BrowserAccessibility to AXPlatformNodeWin.
In this installment, we're converting get_accRole.  I have updated the
AXPlatformNodeWin::MSAARole() to include many of the missing roles that
the BrowserAccessibility code had.  I also introduced a new method that
allows get_accRole to return a string (overriding the default type value
that MSAARole() returns).  I have not dug into why we need to return the
various values instead of just using the role number or html element
name. Instead, I just added todos for me to follow up on.

BUG=703369

Review-Url: https://codereview.chromium.org/2909853002
Cr-Commit-Position: refs/heads/master@{#475757}

[modify] https://crrev.com/ebe52af6c0285feef6f776dfd95669123315e525/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/ebe52af6c0285feef6f776dfd95669123315e525/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/ebe52af6c0285feef6f776dfd95669123315e525/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 29 by bugdroid1@chromium.org, May 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9570c41a05e2556411722bf15da9f527ccaaa646

commit 9570c41a05e2556411722bf15da9f527ccaaa646
Author: dougt <dougt@chromium.org>
Date: Wed May 31 04:46:02 2017

Forward BrowserAccessibility accSelect() to AXPlatformNode.

This forwards accSelect to the AXPlatformNode. In order to do this, we
had to extension AccessibilityPerformAction a bit to be able to handle
AX_ACTION_FOCUS. Not that the node id is not passed as part of the AXActionData
and is not being used by the delegate at this point.

BUG=703369

Review-Url: https://codereview.chromium.org/2913553003
Cr-Commit-Position: refs/heads/master@{#475806}

[modify] https://crrev.com/9570c41a05e2556411722bf15da9f527ccaaa646/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/9570c41a05e2556411722bf15da9f527ccaaa646/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/9570c41a05e2556411722bf15da9f527ccaaa646/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Jun 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e42c06947d8e001c30bdc0efafefedd8afa2256

commit 0e42c06947d8e001c30bdc0efafefedd8afa2256
Author: dougt <dougt@chromium.org>
Date: Tue Jun 06 06:29:47 2017

Fix todo's in AXPlatformNodeWin::get_accRole related to string results.

For historical reasons, AXPlatformNodeWin::get_accRole can return a string
which can containing the HTML tag name as the MSAA role, rather than a int.

In some cases, we special cased roles such that they alway returned a specific
string instead of the underlying HTML tag name. For example, AX_ROLE_PARAGRAPH
always returned upper case "P".

What this CL does is removes some of these special cases in favor of just
returning the uppercase of the HTML tag name.

This is a follow up from issue 2909853002.

BUG=703369

Review-Url: https://codereview.chromium.org/2912243002
Cr-Commit-Position: refs/heads/master@{#477216}

[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/add-child-of-body-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/css-display-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/css-visibility-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/description-change-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/inner-html-change-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/name-change-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/content/test/data/accessibility/event/text-changed-expected-win.txt
[modify] https://crrev.com/0e42c06947d8e001c30bdc0efafefedd8afa2256/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2396b649beff6d478edff6334af2305418cc3c45

commit 2396b649beff6d478edff6334af2305418cc3c45
Author: dougt <dougt@chromium.org>
Date: Thu Jun 08 22:48:42 2017

Forward BrowserAccessibility get_accState to AXPlatformNode.

This is another migration from BrowserAccessibility to AXPlatformNodeWin.
In this installment, we're converting get_accState. This one is mostly
straightforward. The one gotcha is that there are some types that need
to be explictly marked as focusable if they are selectable.

BUG=703369

Review-Url: https://codereview.chromium.org/2913553002
Cr-Commit-Position: refs/heads/master@{#478110}

[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/ax_fake_caret_win.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/ax_fake_caret_win.h
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/2396b649beff6d478edff6334af2305418cc3c45/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 33 by bugdroid1@chromium.org, Jun 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f29d6038c0a838d1eb2e94536634b6bc83a068b5

commit f29d6038c0a838d1eb2e94536634b6bc83a068b5
Author: dmazzoni <dmazzoni@chromium.org>
Date: Wed Jun 14 18:27:55 2017

Revert of Forward BrowserAccessibility get_accState to AXPlatformNode. (patchset #5 id:80001 of https://codereview.chromium.org/2913553002/ )

Reason for revert:
READONLY state missing, breaks screen reader virtual buffers

Original issue's description:
> Forward BrowserAccessibility get_accState to AXPlatformNode.
>
> This is another migration from BrowserAccessibility to AXPlatformNodeWin.
> In this installment, we're converting get_accState. This one is mostly
> straightforward. The one gotcha is that there are some types that need
> to be explictly marked as focusable if they are selectable.
>
> BUG=703369
>
> Review-Url: https://codereview.chromium.org/2913553002
> Cr-Commit-Position: refs/heads/master@{#478110}
> Committed: https://chromium.googlesource.com/chromium/src/+/2396b649beff6d478edff6334af2305418cc3c45

TBR=dougt@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=703369, 733313 

Review-Url: https://codereview.chromium.org/2937083002
Cr-Commit-Position: refs/heads/master@{#479448}

[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/ax_fake_caret_win.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/ax_fake_caret_win.h
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/f29d6038c0a838d1eb2e94536634b6bc83a068b5/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 34 by bugdroid1@chromium.org, Jun 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d2a90d730038e5608c9b89256746636b64b292f

commit 4d2a90d730038e5608c9b89256746636b64b292f
Author: dougt <dougt@chromium.org>
Date: Thu Jun 15 08:54:23 2017

Remove unused ui::AXPlatformNode pointer from BrowserAccessibility.

A while ago, we thought we would keep the the platform node as a seperate
object.  Most of this was removed in
https://codereview.chromium.org/2886353003 but we missed this.

BUG=703369

Review-Url: https://codereview.chromium.org/2930413004
Cr-Commit-Position: refs/heads/master@{#479644}

[modify] https://crrev.com/4d2a90d730038e5608c9b89256746636b64b292f/content/browser/accessibility/browser_accessibility.h

Project Member

Comment 35 by bugdroid1@chromium.org, Jun 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f

commit 216269ac2dc0901d2ca0fd3686fbfedf2f01b06f
Author: dougt <dougt@chromium.org>
Date: Fri Jun 16 04:17:02 2017

Forward four more BrowserAccessibility APIs to AXPlatformNode.

put_accValue
put_accName
get_accHelpTopic
get_accValue

To support get_accValue, we extended AXPlatformNodeBase with a number of
helper methods (mostly copied from BrowserAccessibility).

BUG=703369

Review-Url: https://codereview.chromium.org/2933353002
Cr-Commit-Position: refs/heads/master@{#479946}

[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/DEPS
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_fake_caret_win.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_fake_caret_win.h
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/216269ac2dc0901d2ca0fd3686fbfedf2f01b06f/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 38 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/57c6dff1214ac4d327d0705d89534412a1743f3c

commit 57c6dff1214ac4d327d0705d89534412a1743f3c
Author: dougt <dougt@chromium.org>
Date: Tue Jun 27 21:36:46 2017

Forward BrowserAccessibility get_accState to AXPlatformNode.

This is another migration from BrowserAccessibility to AXPlatformNodeWin.
In this installment, we're converting get_accState.

We attempted to land this CL in https://codereview.chromium.org/2913553002/.
The CL was reverted due to lack of adequate testing. We since have improved
our testing in  bug 733437 .

BUG=703369

Review-Url: https://codereview.chromium.org/2943243002
Cr-Commit-Position: refs/heads/master@{#482751}

[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/ax_fake_caret_win.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/ax_fake_caret_win.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/ax_platform_node_win.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/57c6dff1214ac4d327d0705d89534412a1743f3c/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 43 by bugdroid1@chromium.org, Jul 12 2017

Project Member

Comment 44 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c

commit 9344ce7d3f2fe16e08af9a0902423d5d3b27a34c
Author: dougt <dougt@chromium.org>
Date: Wed Jul 12 07:17:14 2017

Converts accNavigate over to the AXPlatformNode code.

This CL switches accNavigate completely over to the AXPlatformNode code.
It also moves the table handling code from BrowserAccessibility to
AXPlatformNodeBase.

BUG=703369

Review-Url: https://codereview.chromium.org/2964313002
Cr-Commit-Position: refs/heads/master@{#485887}

[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/content/browser/accessibility/browser_accessibility_win.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_system_caret_win.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/ax_system_caret_win.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/9344ce7d3f2fe16e08af9a0902423d5d3b27a34c/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 45 by bugdroid1@chromium.org, Jul 12 2017

Project Member

Comment 46 by bugdroid1@chromium.org, Jul 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05e325468af27dfd72e5090bd94276b14ce2beb4

commit 05e325468af27dfd72e5090bd94276b14ce2beb4
Author: dougt <dougt@chromium.org>
Date: Mon Jul 17 16:58:35 2017

Move Win32 API Histogram code to AXPlatformNode so that it can be shared.

One side effect of this is that we will begin collecting data on API usage
from views (on the APIs we've migrated to platform node).

BUG=703369

Review-Url: https://codereview.chromium.org/2981023002
Cr-Commit-Position: refs/heads/master@{#487123}

[modify] https://crrev.com/05e325468af27dfd72e5090bd94276b14ce2beb4/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/05e325468af27dfd72e5090bd94276b14ce2beb4/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/05e325468af27dfd72e5090bd94276b14ce2beb4/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 48 by bugdroid1@chromium.org, Jul 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4ab0dd0c1a9df25e89f2a5f18cf051d7f368eaa4

commit 4ab0dd0c1a9df25e89f2a5f18cf051d7f368eaa4
Author: dougt <dougt@chromium.org>
Date: Wed Jul 19 03:34:09 2017

Remove methods from BrowserAccessibilityComWin which aren't needed.

This is the first larger patch where we can start removing methods from
BrowserAccessibilityComWin that are completely implemented by
AXPlatformNodeWin.

Note, I believe the owner() check that is used in BrowserAccessibilityComWin
is not needed anymore. This is because the AXPlatformNodeWin should be
testing for a valid delegate in all of the exposed COM interfaces.

Also note, that I have removed changing the accessibility mode flags
from some of the unimplemented methods.  I do not believe that this will be
a problem since these methods aren't really used.

There will be a follow up that moves more over after we work out what
to do about handling of the mode flags.

BUG=703369

Review-Url: https://codereview.chromium.org/2981053002
Cr-Commit-Position: refs/heads/master@{#487738}

[modify] https://crrev.com/4ab0dd0c1a9df25e89f2a5f18cf051d7f368eaa4/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/4ab0dd0c1a9df25e89f2a5f18cf051d7f368eaa4/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/4ab0dd0c1a9df25e89f2a5f18cf051d7f368eaa4/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 50 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b5355784ac527145920d375a2065537c76dea01

commit 8b5355784ac527145920d375a2065537c76dea01
Author: dougt <dougt@chromium.org>
Date: Tue Jul 25 01:29:49 2017

Migrate BrowserAccessibility windows unique id handling to AXPlatformNodeWin.

Global identifiers are allocated out of ui::GetNextAXPlatformNodeUniqueId
currently. Both BrowserAccessibility and the AXPlatform code both independently
Assign a unique id during object creation.

What we want to have happen is for the BrowserAccessibilityComWin class,
and it�s typical owner, the BrowserAccessibilityWin, to share the same unique
id. This makes it easier to reason about as well as necessary to be able to
Implement get_uniqueID().

This CL makes private the |unique_id_| used in both above base classes private
and forces all access through virtual class methods. The BrowserAccessibilityWin
overrides and implements in terms of AXPlatformNodeWin.

BUG=703369

Review-Url: https://codereview.chromium.org/2981083002
Cr-Commit-Position: refs/heads/master@{#489177}

[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_android.h
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_event.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/browser_accessibility_win_unittest.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/content/browser/accessibility/web_contents_accessibility_android.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/ui/accessibility/platform/ax_platform_node.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/ui/accessibility/platform/ax_platform_node.h
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/8b5355784ac527145920d375a2065537c76dea01/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 51 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba05045c920078d04b7135144dd14c649bc73727

commit ba05045c920078d04b7135144dd14c649bc73727
Author: dougt <dougt@chromium.org>
Date: Tue Jul 25 16:58:18 2017

Revert of Migrate BrowserAccessibility windows unique id handling to AXPlatformNodeWin. (patchset #4 id:80001 of https://codereview.chromium.org/2981083002/ )

Reason for revert:
Revert due to crbug 748472. Will reland w/ fix after merge to M61 branch.

Original issue's description:
> Migrate BrowserAccessibility windows unique id handling to AXPlatformNodeWin.
>
> Global identifiers are allocated out of ui::GetNextAXPlatformNodeUniqueId
> currently. Both BrowserAccessibility and the AXPlatform code both independently
> Assign a unique id during object creation.
>
> What we want to have happen is for the BrowserAccessibilityComWin class,
> and it�s typical owner, the BrowserAccessibilityWin, to share the same unique
> id. This makes it easier to reason about as well as necessary to be able to
> Implement get_uniqueID().
>
> This CL makes private the |unique_id_| used in both above base classes private
> and forces all access through virtual class methods. The BrowserAccessibilityWin
> overrides and implements in terms of AXPlatformNodeWin.
>
> BUG=703369
>
> Review-Url: https://codereview.chromium.org/2981083002
> Cr-Commit-Position: refs/heads/master@{#489177}
> Committed: https://chromium.googlesource.com/chromium/src/+/8b5355784ac527145920d375a2065537c76dea01

TBR=dmazzoni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=703369

Review-Url: https://codereview.chromium.org/2988753002
Cr-Commit-Position: refs/heads/master@{#489342}

[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_android.h
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_event.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/browser_accessibility_win_unittest.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/content/browser/accessibility/web_contents_accessibility_android.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/ui/accessibility/platform/ax_platform_node.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/ui/accessibility/platform/ax_platform_node.h
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/ba05045c920078d04b7135144dd14c649bc73727/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 52 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/318d43c6f6227b1210289edc07ca8619ea9c1e75

commit 318d43c6f6227b1210289edc07ca8619ea9c1e75
Author: Doug Turner <dougt@chromium.org>
Date: Fri Jul 28 07:14:45 2017

Migrate BrowserAccessibility windows unique id handling to AXPlatformNodeWin.

Global identifiers are allocated out of ui::GetNextAXPlatformNodeUniqueId
currently. Both BrowserAccessibility and the AXPlatform code both independently
assign a unique id during object creation.

What we want to have happen is for the BrowserAccessibilityComWin class,
and it's typical owner, the BrowserAccessibilityWin, to share the same unique
id. This makes it easier to reason about as well as necessary to be able to
Implement get_uniqueID().

This CL makes private the |unique_id_| used in both above base classes private
and forces all access through virtual class methods. The BrowserAccessibilityWin
overrides and implements in terms of AXPlatformNodeWin.

Note that this landed initially but was reverted.  See:
https://codereview.chromium.org/2981083002/

BUG=703369

Change-Id: I95b26bfbb0dfd24f2048dccafecc54ee1630150a
Reviewed-on: https://chromium-review.googlesource.com/585967
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Commit-Queue: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490307}
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_android.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_android.h
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_event.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_manager_android.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/browser_accessibility_win_unittest.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/content/browser/accessibility/web_contents_accessibility_android.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/ui/accessibility/platform/ax_platform_node.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/ui/accessibility/platform/ax_platform_node.h
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/318d43c6f6227b1210289edc07ca8619ea9c1e75/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 53 by bugdroid1@chromium.org, Jul 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63f3c7bcfc46a88f4c1b8997f2e0238816521607

commit 63f3c7bcfc46a88f4c1b8997f2e0238816521607
Author: Doug Turner <dougt@chromium.org>
Date: Sat Jul 29 05:10:01 2017

Move the accessibility mode flags from content/ to ui/

In order to use the accessibility mode flags from the ui AXPlatformNode
and friends, we need to move the flags from content/common into
ui/accessibility. The majority of this change is mechincal renaming.

Bug: 703369
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I683d1e0abcf5ce33b65ea206f07899a12a284bb5
Reviewed-on: https://chromium-review.googlesource.com/588383
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490630}
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/accessibility_action_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/accessibility_ipc_error_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/accessibility_mode_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/accessibility_ui.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/android_granularity_movement_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/browser_accessibility_state_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/browser_accessibility_state_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/dump_accessibility_browsertest_base.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/dump_accessibility_events_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/hit_testing_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/touch_accessibility_aura_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/accessibility/web_contents_accessibility_android.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/interstitial_page_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/interstitial_page_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/renderer_host/legacy_render_widget_host_win.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/resources/accessibility/accessibility.js
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/common/BUILD.gn
[delete] https://crrev.com/5c48668dae28f413a0ba8b5597b0543c25711483/content/common/PRESUBMIT.py
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/common/content_param_traits.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/common/content_param_traits.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/common/frame_message_enums.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/common/frame_messages.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/public/browser/web_contents_observer.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/accessibility/blink_ax_tree_source.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/accessibility/blink_ax_tree_source.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/accessibility/render_accessibility_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/accessibility/render_accessibility_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/accessibility/render_accessibility_impl_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/render_frame_impl.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/renderer/render_view_impl.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/test/accessibility_browser_test_utils.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/test/accessibility_browser_test_utils.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/test/test_render_frame.cc
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/content/test/test_render_frame.h
[modify] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/ui/accessibility/PRESUBMIT.py
[rename] https://crrev.com/63f3c7bcfc46a88f4c1b8997f2e0238816521607/ui/accessibility/ax_modes.h

Project Member

Comment 54 by bugdroid1@chromium.org, Aug 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aff275fdb38c8f2e283264bf3bb412d3c7804e9c

commit aff275fdb38c8f2e283264bf3bb412d3c7804e9c
Author: Doug Turner <dougt@chromium.org>
Date: Tue Aug 15 22:40:35 2017

Add AXPlatformNode ObserverList so that clients know when ax mode changes.

Bug: 703369
Change-Id: Ia1d64a9b99b952f6391eda39ce98a2ae6ad6fa20
Reviewed-on: https://chromium-review.googlesource.com/601541
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494578}
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/content/browser/accessibility/browser_accessibility_state_impl.cc
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/content/browser/accessibility/browser_accessibility_state_impl.h
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/content/browser/accessibility/one_shot_accessibility_tree_search_unittest.cc
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/ui/accessibility/BUILD.gn
[add] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/ui/accessibility/ax_mode_observer.h
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/ui/accessibility/platform/ax_platform_node.cc
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/ui/accessibility/platform/ax_platform_node.h
[modify] https://crrev.com/aff275fdb38c8f2e283264bf3bb412d3c7804e9c/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 55 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14cb87271326adcbd75c87aa89da6eb5d1625d8d

commit 14cb87271326adcbd75c87aa89da6eb5d1625d8d
Author: Doug Turner <dougt@chromium.org>
Date: Wed Aug 16 14:49:56 2017

Move three ax usage histograms from browser over to ui.

Bug: 703369
Change-Id: I498ee25dc95a7f655accfa79e68038cdbc1cb87a
Reviewed-on: https://chromium-review.googlesource.com/605060
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494778}
[modify] https://crrev.com/14cb87271326adcbd75c87aa89da6eb5d1625d8d/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/14cb87271326adcbd75c87aa89da6eb5d1625d8d/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 56 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f37ddcd4217f19a43b4df005ad9b677d5a11fdcb

commit f37ddcd4217f19a43b4df005ad9b677d5a11fdcb
Author: Doug Turner <dougt@chromium.org>
Date: Wed Aug 16 15:45:57 2017

Remove BrowserAccessibilityComWin methods in favor AXPlatformNodeWin.

We're finally at a place where we can remove methods on the browser
side that are fully implemented on the ui side. \./

Bug: 703369
Change-Id: If60a3349e875f626efd09d203358bf68e007fbed
Reviewed-on: https://chromium-review.googlesource.com/605061
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494799}
[modify] https://crrev.com/f37ddcd4217f19a43b4df005ad9b677d5a11fdcb/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/f37ddcd4217f19a43b4df005ad9b677d5a11fdcb/content/browser/accessibility/browser_accessibility_com_win.h

Project Member

Comment 57 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b25275a4c4cdb3b2a8cc31c50f5558c6f0c70f48

commit b25275a4c4cdb3b2a8cc31c50f5558c6f0c70f48
Author: Doug Turner <dougt@chromium.org>
Date: Tue Aug 22 21:15:49 2017

Forward 4 methods from BrowserAccessibilityComWin to AXPlatformNodeWin

Continuing on removing stuff from the browser side, this CL forwards four
more methods to the platform node side:

get_attributes, get_uniqueID, get_windowHandle, get_indexInParent

Bug: 703369
Change-Id: I5b1996b131733f4792611a5f9ce14d030f1f4d1c
Reviewed-on: https://chromium-review.googlesource.com/619988
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Commit-Queue: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496443}
[modify] https://crrev.com/b25275a4c4cdb3b2a8cc31c50f5558c6f0c70f48/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/b25275a4c4cdb3b2a8cc31c50f5558c6f0c70f48/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/b25275a4c4cdb3b2a8cc31c50f5558c6f0c70f48/ui/accessibility/platform/ax_platform_node_win.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6dd3bb84518c896aa10b805910d9f6bd946970b5

commit 6dd3bb84518c896aa10b805910d9f6bd946970b5
Author: Doug Turner <dougt@chromium.org>
Date: Tue Sep 05 03:41:35 2017

Add delegate method to allow accessing index_in_parent from AXNode.

Currently BrowserAcccessibility has a AXNode* that it uses to calculate
the hypertext offsets from child.  When we move this functionality to
AXPlatformNode, we'll want to be able to access the index_in_parent
from the AXNodeData.

Bug: 703369
Change-Id: I8db027e32c47b1ae55cb640d6aa00907fe57381a
Reviewed-on: https://chromium-review.googlesource.com/638445
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499551}
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/accessibility/platform/ax_system_caret_win.cc
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/accessibility/platform/ax_system_caret_win.h
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/6dd3bb84518c896aa10b805910d9f6bd946970b5/ui/views/accessibility/native_view_accessibility_base.h

Project Member

Comment 60 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d679cc85b066abf85fc27093b4485896920a76f1

commit d679cc85b066abf85fc27093b4485896920a76f1
Author: Doug Turner <dougt@chromium.org>
Date: Tue Sep 05 14:56:30 2017

Move hyper-text from BrowserAccessibility to AXPlatformNode.

This CL moves the hyperlink/hypertext data from BrowserAccessibilityComWin
to AXPlatformNodeWin.  It also introduces GetText() on the AXPlatformNodeBase
which is used to access either the innerhtml or the hypertext.

Note that many of the BrowserAccessibilityComWin methods dealing with hyper
text will be moved over to AXPlatformNodeWin in a followup.

Bug: 703369
Change-Id: I05c85f9169492a5a754dbf6166056ef926226af9
Reviewed-on: https://chromium-review.googlesource.com/639320
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499630}
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/content/browser/accessibility/browser_accessibility_win.cc
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/d679cc85b066abf85fc27093b4485896920a76f1/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 62 by bugdroid1@chromium.org, Sep 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d2844d616d93b3421721b697d90b4a969c2d9fd

commit 9d2844d616d93b3421721b697d90b4a969c2d9fd
Author: Doug Turner <dougt@chromium.org>
Date: Thu Sep 07 05:30:15 2017

Migrate hypertext support APIs from BrowserAccessiblity to AXPlatformNode

This brings over the support for IA2 hyperlinks and selection from
BrowserAccessiblity to AXPlatformNode.  The next step will be to
move the MSCOM facing APIs over to the AXPlatformNode (IAccessibleText).

Bug: 703369
Change-Id: I5dc3ef1ad6292947eab50e0dd22586f87d171960
Reviewed-on: https://chromium-review.googlesource.com/639027
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500226}
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/9d2844d616d93b3421721b697d90b4a969c2d9fd/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 63 by bugdroid1@chromium.org, Sep 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e19e2b8200d28523bab0364381641dff8336a528

commit e19e2b8200d28523bab0364381641dff8336a528
Author: Doug Turner <dougt@chromium.org>
Date: Thu Sep 07 18:16:01 2017

Correct comment in BACW.

Essentially, these methods can not be removed completely until the referenced
interface is also migrated over to AXPlatformNodeWin.  The reason is that they
have a name conflict which causes the compiler to get confused about the hidden
overloaded virtual function.  For example:

../..\content/browser/accessibility/browser_accessibility_com_win.h(283,3):

error: 'content::BrowserAccessibilityComWin::get_attributes' hides overloaded
virtual function [-Werror,-Woverloaded-virtual]

  get_attributes(unsigned short max_attribs,
  ^

../..\ui/accessibility/platform/ax_platform_node_win.h(377,16):  note: hidden
overloaded virtual function 'ui::AXPlatformNodeWin::get_attributes' declared
here: different number of parameters (1 vs 5)

STDMETHODIMP get_attributes(BSTR* attributes) override;

Bug: 703369
Change-Id: Ie60e432c5630b0a6c268683f6b38d80e42faa349
Reviewed-on: https://chromium-review.googlesource.com/653190
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Commit-Queue: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500335}
[modify] https://crrev.com/e19e2b8200d28523bab0364381641dff8336a528/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/e19e2b8200d28523bab0364381641dff8336a528/ui/accessibility/platform/ax_platform_node_win.h

Project Member

Comment 64 by bugdroid1@chromium.org, Sep 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6335ae2d3b49e332fa49e909ec6fe5802590980e

commit 6335ae2d3b49e332fa49e909ec6fe5802590980e
Author: Doug Turner <dougt@chromium.org>
Date: Sat Sep 09 01:51:39 2017

Migrate get_nCharacters from BrowserAccessiblity to AXPlatformNode

Bug: 703369
Change-Id: I87321e56b172a0fd8f52903d3e89fc7540391d30
Reviewed-on: https://chromium-review.googlesource.com/653726
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500777}
[modify] https://crrev.com/6335ae2d3b49e332fa49e909ec6fe5802590980e/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/6335ae2d3b49e332fa49e909ec6fe5802590980e/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/6335ae2d3b49e332fa49e909ec6fe5802590980e/ui/accessibility/platform/ax_platform_node_win_unittest.cc

Project Member

Comment 66 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2143dcca68f38c9d4847180166bc1a1f46261578

commit 2143dcca68f38c9d4847180166bc1a1f46261578
Author: Doug Turner <dougt@chromium.org>
Date: Fri Sep 15 14:09:31 2017

Migrate get_selection from BrowserAccessiblity to AXPlatformNode

Bug: 703369
Change-Id: Ie8609129a043c461e0da0d7f01462637642636fa
Reviewed-on: https://chromium-review.googlesource.com/659218
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502243}
[modify] https://crrev.com/2143dcca68f38c9d4847180166bc1a1f46261578/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/2143dcca68f38c9d4847180166bc1a1f46261578/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/2143dcca68f38c9d4847180166bc1a1f46261578/ui/accessibility/platform/ax_platform_node_win_unittest.cc

Project Member

Comment 67 by bugdroid1@chromium.org, Sep 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/749e1ad91e5849f6125508f6d91fa0722870b569

commit 749e1ad91e5849f6125508f6d91fa0722870b569
Author: Doug Turner <dougt@chromium.org>
Date: Sun Sep 17 09:35:01 2017

Migrate addSelection from BrowserAccessiblity to AXPlatformNode

Bug: 703369
Change-Id: I749030e605eb30d3ee0785885d20c510e5f91f69
Reviewed-on: https://chromium-review.googlesource.com/659258
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502523}
[modify] https://crrev.com/749e1ad91e5849f6125508f6d91fa0722870b569/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/749e1ad91e5849f6125508f6d91fa0722870b569/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/749e1ad91e5849f6125508f6d91fa0722870b569/ui/accessibility/platform/ax_platform_node_win_unittest.cc

Project Member

Comment 68 by bugdroid1@chromium.org, Sep 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29e0375a08359b364c8dc738a63ac9b0f938e53f

commit 29e0375a08359b364c8dc738a63ac9b0f938e53f
Author: Doug Turner <dougt@chromium.org>
Date: Thu Sep 21 02:36:57 2017

Migrate get_nSelections from BrowserAccessibilityWin to AXPlatformNode

Bug: 703369
Change-Id: Ide9bb656b685be1d436f4dc3e6fd2b242c49d09e
Reviewed-on: https://chromium-review.googlesource.com/659217
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Commit-Queue: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503328}
[modify] https://crrev.com/29e0375a08359b364c8dc738a63ac9b0f938e53f/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/29e0375a08359b364c8dc738a63ac9b0f938e53f/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/29e0375a08359b364c8dc738a63ac9b0f938e53f/ui/accessibility/platform/ax_platform_node_win_unittest.cc

Project Member

Comment 69 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01f220e51bcf968c8abd3ee45d7527d0276dba9c

commit 01f220e51bcf968c8abd3ee45d7527d0276dba9c
Author: Doug Turner <dougt@chromium.org>
Date: Fri Sep 22 11:51:40 2017

Migrate get_caretOffset from BrowserAccessiblity to AXPlatformNode

Bug: 703369
Change-Id: If672c2f92fa5f74db6e89af266827e706d43c40e
Reviewed-on: https://chromium-review.googlesource.com/658042
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503715}
[modify] https://crrev.com/01f220e51bcf968c8abd3ee45d7527d0276dba9c/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/01f220e51bcf968c8abd3ee45d7527d0276dba9c/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/01f220e51bcf968c8abd3ee45d7527d0276dba9c/ui/accessibility/platform/ax_platform_node_win_unittest.cc

Project Member

Comment 70 by bugdroid1@chromium.org, Sep 26 2017

Project Member

Comment 71 by bugdroid1@chromium.org, Oct 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4f6706336a6ef4340f524e35e6cf63206f543c1

commit f4f6706336a6ef4340f524e35e6cf63206f543c1
Author: Doug Turner <dougt@chromium.org>
Date: Sat Oct 28 02:33:24 2017

Rename AXPlatformPosition to BrowserAccessibilityPosition.

The AXPlatformPosition class really is specific to how BrowserAccessibility
works and thus we should rename it as such.  We will be adding a new
AXPlatformPosition that depends on AXPlatformNode and at some point convert
all usages to it.

Bug: 703369
Change-Id: Icf8882be7d92b91a017dcf90ee8ca31716d7eabe
Reviewed-on: https://chromium-review.googlesource.com/698870
Commit-Queue: Doug Turner <dougt@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512373}
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/BUILD.gn
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_manager.h
[rename] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_position.cc
[rename] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/browser_accessibility_position.h
[modify] https://crrev.com/f4f6706336a6ef4340f524e35e6cf63206f543c1/content/browser/accessibility/web_contents_accessibility_android.cc

Sign in to add a comment