Closed Bug 1715320 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 29243 - When detaching an AXObject, remove it from all ancestor child lists

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox91 fixed)

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 29243 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/29243
Details from upstream follow.

b'Aaron Leventhal <aleventhal@google.com>' wrote:

When detaching an AXObject, remove it from all ancestor child lists

When adding children, we recurse through unincluded children and
add their children. Therefore, an ancestor can cache AX children
that are actually not direct children.

For example, for this structure,
A (included)->B (unincluded)->C (unincluded)->D (included):

  • A, B and C will all have D in their list of children
  • No unincluded object is in an ancestor's list of children
  • D's parent is C, C's parent is B, and B's parent is A.

There is a rule when adding children that detached children cannot
be reached. Children are no longer cleared while adding children,
because of crashes, e.g. while force loading inline text boxes.

Therefore, when detaching an AXObject, we must clear cached
children for every ancestor up to the first included ancestor.

Bug: 1211394
Change-Id: Id723b610928308dfbbe2f373d53a4c2be701e30f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2941402
Reviewed-by: Daniel Libby \<dlibby@microsoft.com>
Commit-Queue: Aaron Leventhal \<aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#889930}

Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 15 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests

Status Summary

Firefox

PASS: 1

Chrome

PASS: 1

Safari

PASS: 1

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1c2260a44e3a
[wpt PR 29243] - When detaching an AXObject, remove it from all ancestor child lists, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
You need to log in before you can comment on or make changes to this bug.