[Webkit-unassigned] [Bug 278928] New: AX: AXTextOperation over multiple ranges is entirely broken
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Aug 30 09:13:50 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=278928
Bug ID: 278928
Summary: AX: AXTextOperation over multiple ranges is entirely
broken
Product: WebKit
Version: Safari 18
Hardware: All
OS: All
Status: NEW
Severity: Normal
Priority: P2
Component: Accessibility
Assignee: webkit-unassigned at lists.webkit.org
Reporter: samar.sunkaria at grammarly.com
CC: andresg_22 at apple.com,
webkit-bug-importer at group.apple.com
When performing an AXTextOperation over multiple ranges (_in descending order of their position_), typically only the first range is replaced. In a contenteditable, multiple ranges might be replaced correctly if they aren’t located within the same node.
This problem is consistently reproducible. However, it is much harder (though not impossible) to reproduce when a non-smart replacement is performed (as proposed in https://bugs.webkit.org/show_bug.cgi?id=278458).
This seems to happen whenever the replacement isn't executed using the `ReplaceSelectionCommand::performTrivialReplace` and instead takes the longer path in `ReplaceSelectionCommand::doApply`. While the initial replacement is performed correctly, subsequent replacements fail because text selection fails on the following iteration of `AccessibilityObject::performTextOperation`.
After the first replacement the SimpleRanges stored in `AccessibilityTextOperation` are orphaned, and can no longer be used for performing a selection; ever since https://bugs.webkit.org/show_bug.cgi?id=221942 was introduced. That change likely caused this bug.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240830/d973aa79/attachment-0001.htm>
More information about the webkit-unassigned
mailing list