New issue
Advanced search Search tips

Issue 792783 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task
Team-Accessibility

Blocking:
issue 746523



Sign in to add a comment

Implement Accessibility Object Model Phase 4

Project Member Reported by meredithl@google.com, Dec 7 2017

Issue description

This effort aims to create a JavaScript API to allow developers to modify (and eventually explore) the accessibility tree for an HTML page.

*Phase 4*

Implement Accessibility Tree introspection API, to give authors access to the full computed accessibility tree, including all attributes and properties of an accessibility node, and the ability to traverse the tree structure.

See https://github.com/WICG/aom/blob/gh-pages/explainer.md#phase-4-full-introspection-of-an-accessibility-tree for more information.

 

Comment 1 Deleted

Owner: meredithl@google.com
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 21 2017

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

commit 1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b
Author: Meredith Lane <meredithl@google.com>
Date: Thu Dec 21 08:26:00 2017

Implement ComputedAccessibleNode.

Add basic implementation of ComputedAccessibleNode, including IDL and
layout tests. This CL simply exposes a the getComputedAccessibleNode
method to the window, and a bare sketch of ComputedAccessibleNode
containing a name and role. A promise is returned, which exposes the
ComputedAccessibleNode once resolved.

BUG=792783

Change-Id: Ibc4076d86daa490383033bddd33a6f34684b209e
Reviewed-on: https://chromium-review.googlesource.com/822314
Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525644}
[add] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/BUILD.gn
[add] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[add] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[add] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/frame/LocalDOMWindow.h
[modify] https://crrev.com/1b1928a2487e26577ebfa03e3ad2c8fe9bc4c35b/third_party/WebKit/Source/core/frame/Window.idl

Comment 4 by efoo@chromium.org, Dec 22 2017

Components: -Admin>ComponentRequest
Removing Admin>ComponentRequest component since that is used to request a new crbug component. Please create a bug using the template defined at http://www.chromium.org/issue-tracking/requesting-a-component-or-label if a new crbug component is needed.
Project Member

Comment 5 by sheriffbot@chromium.org, Jan 19 2018

Owner: ----
The assigned owner "meredithl@google.com" is not able to receive e-mails, please re-triage.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 24 2018

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

commit 4947b2d764814108eda25896c10a3d7e767a4023
Author: Meredith Lane <meredithl@google.com>
Date: Wed Jan 24 20:54:28 2018

Implement AOM tree provider.

ComputedAccessibleNode will have access to a snapshot of the
accessibility tree stored in content/renderer via the AomAXTreeProvider.
This provider is exposed to the ComputedAccessibleNode via Platform.

BUG=792783

Change-Id: I7a715bbdb7ad30d542c8d1848b3f1a39d77f5ccd
Reviewed-on: https://chromium-review.googlesource.com/848575
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531676}
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/content/renderer/BUILD.gn
[add] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/content/renderer/accessibility/aom_content_ax_tree.cc
[add] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/content/renderer/render_frame_impl.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/AXObjectCache.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/public/platform/WebComputedAXTree.h
[modify] https://crrev.com/4947b2d764814108eda25896c10a3d7e767a4023/third_party/WebKit/public/web/WebFrameClient.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 29 2018

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

commit fa3af1aaf0b0a78c859fd11eae5e386b50560b47
Author: Meredith Lane <meredithl@google.com>
Date: Mon Jan 29 02:34:46 2018

Implement int accessors for ComputedAccessibleNode

Adds the attributes into the ComputedAccessibleNode interface, and
accessors on the content tree for an AXNode with a given ID. This is the
first of the accessors for the wider set of ComputedAccessibleNode's
properties. The other types will be added in seperate CLs.

This change also introduces an AOMIntAttribute enum, which is translated
to an AXIntAttribute inside content to retrieve the corresponding
accessible property. This will also be expanded to the other types in
later CLs.

BUG=792783

Change-Id: I39875ae8eef03620b85c8480fd1ffc590c3591d5
Reviewed-on: https://chromium-review.googlesource.com/869911
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532306}
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/content/renderer/accessibility/aom_content_ax_tree.h
[add] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/fa3af1aaf0b0a78c859fd11eae5e386b50560b47/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 8 by bugdroid1@chromium.org, Feb 1 2018

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

commit b0fc027b8deefa3111b33ab3e1efcdeef5379ed0
Author: Meredith Lane <meredithl@google.com>
Date: Thu Feb 01 22:16:45 2018

Implement string accessors for ComputedAccessibleNode.

Adds the IDL code and accessor methods into ComputedAccessibleNode for
the intersection of properties between AccessibleNode and
AXStringAttribute. These accessors will return null strings to the
window in a few cases:
   - when the AXNode for a given matching AXID is not in the tree,
   - when the string property has not been set.

Currently, the accessors are rudimentary and require an enum
translation, although this may change in future in favour of an
individual hard coded method on the AomContentAXTree.

BUG=792783

Change-Id: Icd9cac2cb8486d549932f400b0aeeae569a1f712
Reviewed-on: https://chromium-review.googlesource.com/883863
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533834}
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[add] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/b0fc027b8deefa3111b33ab3e1efcdeef5379ed0/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 9 by bugdroid1@chromium.org, Feb 5 2018

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

commit 574c1a13782a1d19718384520a2543b3810314ae
Author: Meredith Lane <meredithl@google.com>
Date: Mon Feb 05 03:13:17 2018

Implement basic relation accessors

This change adds the IDL and accessors for getting related computed
accessible nodes. It mirrors the relation accessors on Node, which is
parent, firstChild, lastChild, previousSibling, and nextSibling.
Currently, the ComputedAccessibleNode is owned on the Element, so if a
related node is requested and it does not have an element (for example
the root of the document) it will return a null ComputedAccessibleNode.
This is desirable behaviour, so this change has uncovered a use case for
owning or at least associating the ComputedAccessibleNode with a Node,
which will be added in a later change.

BUG=792783

Change-Id: Ifbe4785e2f0cf453527507f973f830634840694a
Reviewed-on: https://chromium-review.googlesource.com/892178
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534317}
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/content/renderer/accessibility/aom_content_ax_tree.h
[add] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/core/dom/AXObjectCache.h
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.h
[modify] https://crrev.com/574c1a13782a1d19718384520a2543b3810314ae/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 8 2018

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

commit af8ce55a31a279998ce52532132c9eecdbce6c78
Author: Alice Boxhall <aboxhall@chromium.org>
Date: Thu Feb 08 22:18:26 2018

Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.

This means that we don't need to store a reference to the Element in ComputedAccessibleNode itself, as we can request an AXID after layout is guaranteed to have occurred.

It also means that, for now, a new ComputedAccessibleNode is created for each call to getComputedAccessibleNode() and all relation accessors.

BUG=792783

Change-Id: Ia61f5f7a0745c85cd56276731792e3d034431e5f
Reviewed-on: https://chromium-review.googlesource.com/897230
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535544}
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/af8ce55a31a279998ce52532132c9eecdbce6c78/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 9 2018

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

commit 34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e
Author: Kunihiko Sakamoto <ksakamoto@chromium.org>
Date: Fri Feb 09 06:07:31 2018

Revert "Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation."

This reverts commit af8ce55a31a279998ce52532132c9eecdbce6c78.

Reason for revert: WebKit Linux Trusty Leak bot detected leak in the following tests:

* accessibility/aom-computed-accessible-node.html
* accessibility/aom-computed-int-properties.html
* accessibility/aom-computed-relation-accessors.html
* accessibility/aom-computed-string-properties.html

https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20Leak/15388


Original change's description:
> Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.
> 
> This means that we don't need to store a reference to the Element in ComputedAccessibleNode itself, as we can request an AXID after layout is guaranteed to have occurred.
> 
> It also means that, for now, a new ComputedAccessibleNode is created for each call to getComputedAccessibleNode() and all relation accessors.
> 
> BUG=792783
> 
> Change-Id: Ia61f5f7a0745c85cd56276731792e3d034431e5f
> Reviewed-on: https://chromium-review.googlesource.com/897230
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
> Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#535544}

TBR=dmazzoni@chromium.org,aboxhall@chromium.org,haraken@chromium.org,skyostil@chromium.org,altimin@chromium.org,meredithl@google.com

Change-Id: Ia172014529bf26e8efdd675b231e71e869e513d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 792783
Reviewed-on: https://chromium-review.googlesource.com/910553
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535659}
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/34b99ccf6c1ffd8fe52da3e58cfb5465b28b354e/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Feb 12 2018

Project Member

Comment 13 by bugdroid1@chromium.org, Feb 12 2018

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

commit c921f831ecc10e6fb0f1e491f5694f3fa8faca19
Author: Meredith Lane <meredithl@google.com>
Date: Mon Feb 12 10:45:19 2018

Implement manual refresh for ComputedAccessibleNode.

Instead of streaming live updates, a ComputedAccessibleNode must be
manually refreshed. This change adds the IDL code and implementation of
this behaviour by requesting a fresh tree snapshot when a node needs to
be refreshed. As all ComputedAccessibleNodes refer to the same tree
snapshot, when ensureUpToDate is called on one node, all others are
also refreshed, ensuring that all references to ComputedAccessibleNodes
are consistent with the same snapshot.

BUG=792783

Change-Id: I0ff900c947a8e005a64c9d1e9ef24f6908206e6c
Reviewed-on: https://chromium-review.googlesource.com/905702
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Meredith Lane <meredithl@google.com>
Cr-Commit-Position: refs/heads/master@{#536050}
[modify] https://crrev.com/c921f831ecc10e6fb0f1e491f5694f3fa8faca19/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/c921f831ecc10e6fb0f1e491f5694f3fa8faca19/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/c921f831ecc10e6fb0f1e491f5694f3fa8faca19/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/c921f831ecc10e6fb0f1e491f5694f3fa8faca19/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/c921f831ecc10e6fb0f1e491f5694f3fa8faca19/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 14 2018

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

commit 70612b6c75885e94f4b50139d9d20f772c329c84
Author: Meredith Lane <meredithl@google.com>
Date: Wed Feb 14 04:05:42 2018

Implements rudimentary boolean accessors.

There is only three common accessors from AccessibleNode and the
bool attributes defined in ax_enums.mojom for boolean types.

BUG=792783

Change-Id: Ifdf438708ce1ea71e36055fd37845004b8a6434d
Reviewed-on: https://chromium-review.googlesource.com/896766
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536641}
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/content/renderer/accessibility/aom_content_ax_tree.h
[add] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/70612b6c75885e94f4b50139d9d20f772c329c84/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 15 2018

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

commit c0070250a866f55741cc45736d88acc1a4efcdca
Author: Alice Boxhall <aboxhall@chromium.org>
Date: Thu Feb 15 13:26:07 2018

Trying to re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.

Bug: 792783
Change-Id: I92a316781e546a346c166fd33c3983417184db22
Reviewed-on: https://chromium-review.googlesource.com/912054
Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537001}
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/aom-string-properties.html
[add] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/LayoutTests/accessibility/idle-promise-helpers.js
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/c0070250a866f55741cc45736d88acc1a4efcdca/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Feb 15 2018

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

commit cfd1908c46aafc813a9e27fad7687d7d364c59c0
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Feb 15 15:06:55 2018

Revert "Trying to re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation."

This reverts commit c0070250a866f55741cc45736d88acc1a4efcdca.

Reason for revert: breaks webkit_layout_tests,  crbug.com/812638 

Original change's description:
> Trying to re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.
> 
> Bug: 792783
> Change-Id: I92a316781e546a346c166fd33c3983417184db22
> Reviewed-on: https://chromium-review.googlesource.com/912054
> Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537001}

TBR=aboxhall@chromium.org,hajimehoshi@chromium.org,haraken@chromium.org

Change-Id: If2cc49e9b72799bf2afb781aeb066f41855019e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 792783,  812638 
Reviewed-on: https://chromium-review.googlesource.com/921841
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537017}
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/LayoutTests/accessibility/aom-string-properties.html
[delete] https://crrev.com/e00795dc91f3ab7835f0e34b418cd7729a53a068/third_party/WebKit/LayoutTests/accessibility/idle-promise-helpers.js
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/cfd1908c46aafc813a9e27fad7687d7d364c59c0/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 17 by bugdroid1@chromium.org, Feb 16 2018

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

commit f6cee33d1325822148146e182d21e599fa7cbfaf
Author: Meredith Lane <meredithl@google.com>
Date: Fri Feb 16 02:45:07 2018

Implement autocomplete string accessor.

An accessor that was missed when the first round of string accessors
were implemented. Follows the same pattern as all other accessors.

BUG=792783

Change-Id: Ida6967a152c565b44d32d928156801d13ed13a42
Reviewed-on: https://chromium-review.googlesource.com/920042
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537136}
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/f6cee33d1325822148146e182d21e599fa7cbfaf/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 18 by bugdroid1@chromium.org, Feb 19 2018

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

commit 537ea336d2d8b3d336368fdfbcea7928383d9400
Author: Alice Boxhall <aboxhall@chromium.org>
Date: Mon Feb 19 00:04:20 2018

Trying to re-re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.

Bug: 792783
Change-Id: Icdc8423c50eaa051b348c5226af4936e97b39251
Reviewed-on: https://chromium-review.googlesource.com/923141
Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537568}
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/aom-string-properties.html
[add] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/LayoutTests/accessibility/idle-promise-helpers.js
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/537ea336d2d8b3d336368fdfbcea7928383d9400/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 19 2018

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

commit 4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5
Author: Takeshi Yoshino <tyoshino@chromium.org>
Date: Mon Feb 19 06:42:01 2018

Revert "Trying to re-re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation."

This reverts commit 537ea336d2d8b3d336368fdfbcea7928383d9400.

Reason for revert: The newly added tests are failing on the "WebKit Linux Trusty" bot

Original change's description:
> Trying to re-re-land: Use a PromiseResolver to store reference to Element in getComputedAccessibleNode() implementation.
> 
> Bug: 792783
> Change-Id: Icdc8423c50eaa051b348c5226af4936e97b39251
> Reviewed-on: https://chromium-review.googlesource.com/923141
> Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537568}

TBR=jsbell@chromium.org,szager@chromium.org,aboxhall@chromium.org,haraken@chromium.org,altimin@chromium.org

Change-Id: If686ff2c3db54ff3492b46ee528c79a4250ff4c6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 792783
Reviewed-on: https://chromium-review.googlesource.com/923251
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Commit-Queue: Takeshi Yoshino <tyoshino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537589}
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/LayoutTests/accessibility/aom-string-properties.html
[delete] https://crrev.com/e49689cd0ec555a2bf5aa579f94d56c8e161dfe3/third_party/WebKit/LayoutTests/accessibility/idle-promise-helpers.js
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/4fa15981f2a2368d4e95bf9d7bf0a64f1417f9f5/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 20 by bugdroid1@chromium.org, Feb 20 2018

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

commit 06bafdfb50ee7ede3709742290c256e60ad50bdb
Author: Alice Boxhall <aboxhall@chromium.org>
Date: Tue Feb 20 03:30:21 2018

Rewrite ComputedAccessibleNodePromiseResolver to use AnimationFrame instead of IdleTask

Idle tasks are too difficult to use in layout tests, and are also not implemented anywhere other than Chrome.

Bug: 792783
Change-Id: I802c2a9cdd292138ff68fefd3f69b71e0f6e2e98
Reviewed-on: https://chromium-review.googlesource.com/923469
Commit-Queue: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537705}
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/LayoutTests/accessibility/aom-computed-int-properties.html
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/06bafdfb50ee7ede3709742290c256e60ad50bdb/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 21 2018

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

commit 783e74de5cd1058112e867e6867d42fb4738a93e
Author: Meredith Lane <meredithl@google.com>
Date: Wed Feb 21 13:37:33 2018

Cleanup method for ComputedAccessibleNode and related classes

ComputedAccessibleNode, WebComputedAXTree and AOMContentAXTree now
follow the pattern of method declaration of primitive return types first
(boolean and int) followed by string return types, then ComputedAccessibleNode
return types. This change enforces this ordering across these three
classes to try and improve readability.

BUG=792783

Change-Id: Id356b71ee3c1cef286cd54669a17bbb7ddfd3310
Reviewed-on: https://chromium-review.googlesource.com/925723
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538085}
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/783e74de5cd1058112e867e6867d42fb4738a93e/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 22 2018

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

commit ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce
Author: Meredith Lane <meredithl@google.com>
Date: Thu Feb 22 01:00:35 2018

Implement AXID to computed node mapping

To avoid reconstructing previously requested ComputedAccessibleNodes
when traversing the tree via relation accessors, a mapping of active
ComputedAccessibleNodes to AXIDs must be used. Whenever accessing a node
via relation, once the AXID is retrieved from the content tree, this is
checked in the map to see if a corresponding node has already been
constructed, and that is returned.

BUG=792783

Change-Id: I49379e9cc70ba5ce7e39a124016d05a94428c218
Reviewed-on: https://chromium-review.googlesource.com/910812
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538286}
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/LayoutTests/accessibility/aom-computed-relation-accessors.html
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/ee0e8c3a7542b06a6d07b9bcfa075ebd8600e4ce/third_party/WebKit/Source/core/frame/LocalFrame.h

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 22 2018

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

commit 4179ade9bc30f39a3ad0d25d7ac0a2367e77da15
Author: Meredith Lane <meredithl@google.com>
Date: Thu Feb 22 05:22:18 2018

Implements restriction attributes accessors.

Beginning the process of implementing the attributes that are rolled
into enums on the AXNodeData side. This change includes disabled and readOnly.

BUG=792783

Change-Id: I4a12dabd2e82fd807e12911dc1e41d0399e29efe
Reviewed-on: https://chromium-review.googlesource.com/923249
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538356}
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/4179ade9bc30f39a3ad0d25d7ac0a2367e77da15/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 24 by bugdroid1@chromium.org, Feb 22 2018

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

commit 461e8e83768aaf19702ccdbc42f37ad53bcfef0f
Author: Meredith Lane <meredithl@google.com>
Date: Thu Feb 22 11:27:10 2018

Implement checked attribute accessor.

This returns a string representation of the state of the checked
attribute, which mirrors getAttribute("aria-checked").

BUG=792783

Change-Id: I9472da93ab4e545dce7df6fa699b52bd53dc43ce
Reviewed-on: https://chromium-review.googlesource.com/928451
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538401}
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/LayoutTests/accessibility/aom-computed-string-properties.html
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/461e8e83768aaf19702ccdbc42f37ad53bcfef0f/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 25 by bugdroid1@chromium.org, Feb 22 2018

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

commit 8744db9e95f147a951d370104c885bf11aed1110
Author: Meredith Lane <meredithl@google.com>
Date: Thu Feb 22 21:29:47 2018

Implement float accessors.

This change adds in the three accessors needed to retrieve range values.

BUG=792783

Change-Id: I7ca6b88057f0e4d828265a041cba54b550a38700
Reviewed-on: https://chromium-review.googlesource.com/930104
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Meredith Lane <meredithl@google.com>
Cr-Commit-Position: refs/heads/master@{#538569}
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/content/renderer/accessibility/aom_content_ax_tree.h
[add] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/LayoutTests/accessibility/aom-computed-float-properties.html
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/8744db9e95f147a951d370104c885bf11aed1110/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 26 by bugdroid1@chromium.org, Feb 23 2018

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

commit a6835e0a2d022953085113fdf8d19d44276ca7b9
Author: Meredith Lane <meredithl@google.com>
Date: Fri Feb 23 01:45:12 2018

Implement state boolean accessors.

Similar to restriction attributes, state attributes are stored as an
enum, and AXNodeData exposes a separate method for accessing these, so
they are implemented separately.

BUG=792783

Change-Id: I5eacbbc189c40ac8dcc96eacfd821826457749ad
Reviewed-on: https://chromium-review.googlesource.com/931241
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538660}
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/content/renderer/accessibility/aom_content_ax_tree.cc
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/content/renderer/accessibility/aom_content_ax_tree.h
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/LayoutTests/accessibility/aom-computed-boolean-properties.html
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.idl
[modify] https://crrev.com/a6835e0a2d022953085113fdf8d19d44276ca7b9/third_party/WebKit/public/platform/WebComputedAXTree.h

Project Member

Comment 27 by bugdroid1@chromium.org, Feb 23 2018

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

commit e35fb3af9c9e2ce800e8f5c9bca93cb650c6f738
Author: Meredith Lane <meredithl@google.com>
Date: Fri Feb 23 03:08:46 2018

Refactors ensureUpToDate to use rAF callback.

Makes ensureUpToDate asynchronous, following the same pattern as the
node construction. This introduces an EnsureUpToDate method on the
resolver which schedules the callback to be run, and internally keeps
track of whether to resolve with a ComputedAccessibleNode or void.

BUG=792783

Change-Id: I40fbe3e5139e527dd18c760867a4cd4cb0f2a27a
Reviewed-on: https://chromium-review.googlesource.com/931301
Commit-Queue: Meredith Lane <meredithl@google.com>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538682}
[modify] https://crrev.com/e35fb3af9c9e2ce800e8f5c9bca93cb650c6f738/third_party/WebKit/LayoutTests/accessibility/aom-computed-accessible-node.html
[modify] https://crrev.com/e35fb3af9c9e2ce800e8f5c9bca93cb650c6f738/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.cpp
[modify] https://crrev.com/e35fb3af9c9e2ce800e8f5c9bca93cb650c6f738/third_party/WebKit/Source/core/dom/ComputedAccessibleNode.h

Blocking: 746523
Status: available (was: Untriaged)
Any more action needed here or is this done?

Sign in to add a comment