Skip to content

[A11y] Prevent recursive AX subtree removal cycles#59799

Merged
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7791334
May 11, 2026
Merged

[A11y] Prevent recursive AX subtree removal cycles#59799
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-cl-7791334

Conversation

@chromium-wpt-export-bot
Copy link
Copy Markdown
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented May 11, 2026

RemoveSubtree() can walk both DOM children and cached AX children. With
an aria-owns cycle that also crosses DOM containment, cached AX
traversal can re-enter an AXObject already being removed and recurse
until stack overflow.

Track AXIDs currently active in RemoveSubtree() and return if removal
reaches one again. This keeps subtree removal from following cyclic AX
ownership paths indefinitely.

Bug: 446989592
Change-Id: Iec4932a209989ce29f5e70cc04e6a420908e9afd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7791334
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1628753}

RemoveSubtree() can walk both DOM children and cached AX children. With
an aria-owns cycle that also crosses DOM containment, cached AX
traversal can re-enter an AXObject already being removed and recurse
until stack overflow.

Track AXIDs currently active in RemoveSubtree() and return if removal
reaches one again. This keeps subtree removal from following cyclic AX
ownership paths indefinitely.

Bug: 446989592
Change-Id: Iec4932a209989ce29f5e70cc04e6a420908e9afd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7791334
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1628753}
Copy link
Copy Markdown
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot merged commit f1b3724 into master May 11, 2026
19 checks passed
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-cl-7791334 branch May 11, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants