Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6429c99998c87d1da2cafe85c6ce9078aad2554a
https://github.com/WebKit/WebKit/commit/6429c99998c87d1da2cafe85c6ce9078aad2554a
Author: Tyler Wilcock <[email protected]>
Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths:
A
LayoutTests/accessibility/ax-thread-text-apis/character-offset-visible-position-conversion-hang-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/character-offset-visible-position-conversion-hang.html
M
LayoutTests/accessibility/ax-thread-text-apis/content-editable-attributed-string-expected.txt
M
LayoutTests/accessibility/ax-thread-text-apis/content-editable-attributed-string.html
A
LayoutTests/accessibility/ax-thread-text-apis/crash-in-element-for-text-marker-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/crash-in-element-for-text-marker.html
A
LayoutTests/accessibility/ax-thread-text-apis/crash-invalid-text-marker-node-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/crash-invalid-text-marker-node.html
A
LayoutTests/accessibility/ax-thread-text-apis/index-for-zero-offset-text-marker-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/index-for-zero-offset-text-marker.html
A
LayoutTests/accessibility/ax-thread-text-apis/line-range-for-text-marker-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/line-range-for-text-marker.html
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-stale-node-crash-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-stale-node-crash.html
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-removed-node-crash-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-removed-node-crash.html
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-string-for-document-range-expected.txt
A
LayoutTests/accessibility/ax-thread-text-apis/text-marker-string-for-document-range.html
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXLogger.h
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AXTextMarker.h
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm
Log Message:
-----------
AX: Implement off-main-thread AXTextMarker::partialOrder and
AXCoreObject::textMarkerRange
https://bugs.webkit.org/show_bug.cgi?id=268672
rdar://problem/122212250
Reviewed by Chris Fleizach.
We can implement AXTextMarker::partialOrder by traversing the AX tree, and
returning less or greater depending on
where we find the other marker in relation to the one we started with.
AXCoreObject::textMarkerRange was already
sometimes able to be served off the main-thread, except for objects that don't
have textContent() of their own.
With this patch, we use cached text runs to implement off-main-thread
AXCoreObject::textMarkerRange in this case too.
This patch also ports several new tests to ax-thread-text-apis/ to increase our
test coverage of this feature.
*
LayoutTests/accessibility/ax-thread-text-apis/content-editable-attributed-string-expected.txt:
*
LayoutTests/accessibility/ax-thread-text-apis/content-editable-attributed-string.html:
Remove attributedStringForTextMarkerRange calls. We haven't implemented this
yet, and for some inexplicable
reason avoiding a main-thread hit in AXTextMarker::partialOrder causes some
subsequent attributed string
requests to reutrn nil. Work around this for now until we can actually
implement this API.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
* Source/WebCore/accessibility/AXLogger.h:
(WebCore::streamTextRuns):
(WebCore::streamAXCoreObject):
Add the ability to dump the text runs associated with an object.
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::partialOrder):
(WebCore::findObjectWithRuns):
(WebCore::AXTextMarker::findLast const):
(WebCore::AXTextMarker::findMarker const):
(WebCore::AXTextMarker::toTextLeafMarker const):
(WebCore::AXTextMarker::partialOrderByTraversal const): Added.
* Source/WebCore/accessibility/AXTextMarker.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::Accessibility::findMatchingObjects):
Add the ability to stop the search when encountering the specified AXID.
* Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::textMarkerRange const):
*
LayoutTests/accessibility/ax-thread-text-apis/character-offset-visible-position-conversion-hang-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/character-offset-visible-position-conversion-hang.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/crash-in-element-for-text-marker-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/crash-in-element-for-text-marker.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/crash-invalid-text-marker-node-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/crash-invalid-text-marker-node.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/line-range-for-text-marker-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/line-range-for-text-marker.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-stale-node-crash-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-stale-node-crash.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-removed-node-crash-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-range-with-removed-node-crash.html:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-string-for-document-range-expected.txt:
Added.
*
LayoutTests/accessibility/ax-thread-text-apis/text-marker-string-for-document-range.html:
Added.
Canonical link: https://commits.webkit.org/274240@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes