[webkit-changes] [WebKit/WebKit] 0d448f: AX: Implement support for serving attributed strin...
Tyler Wilcock
noreply at github.com
Thu Dec 12 08:36:21 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0d448f9e4bf09635515def81acc656df0fed5d31
https://github.com/WebKit/WebKit/commit/0d448f9e4bf09635515def81acc656df0fed5d31
Author: Tyler Wilcock <tyler_w at apple.com>
Date: 2024-12-12 (Thu, 12 Dec 2024)
Changed paths:
A LayoutTests/accessibility/ax-thread-text-apis/attributed-string-spanning-multiple-elements-expected.txt
A LayoutTests/accessibility/ax-thread-text-apis/attributed-string-spanning-multiple-elements.html
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AXTextMarker.h
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.h
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/cocoa/AXTextMarkerCocoa.mm
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
Log Message:
-----------
AX: Implement support for serving attributed strings off the main-thread for ranges that span multiple elements
https://bugs.webkit.org/show_bug.cgi?id=284193
rdar://problem/141067345
Reviewed by Chris Fleizach.
This commit implements support for serving attributed strings off the main-thread for ranges that span multiple elements.
Similar to AXTextMarkerRange::toString(), we traverse from the object starting the range to the end, building an attributed
string as we go.
This patch also fixes a bug in the off-main-thread text marker implementation where we did not emit two newlines for
paragraph elements, and a tab for table cells as mandated by the spec (https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute).
* LayoutTests/accessibility/ax-thread-text-apis/attributed-string-spanning-multiple-elements-expected.txt: Added.
* LayoutTests/accessibility/ax-thread-text-apis/attributed-string-spanning-multiple-elements.html: Added.
* Source/WebCore/accessibility/AXCoreObject.h:
(WebCore::AXCoreObject::emitsNewlineAfter const):
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarkerRange::toString const):
(WebCore::AXTextMarker::findMarker const):
(WebCore::Accessibility::findObjectWithRuns):
(WebCore::findObjectWithRuns): Deleted.
* Source/WebCore/accessibility/AXTextMarker.h:
(WebCore::Accessibility::findObjectWithRuns):
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::emitTextAfter const):
(WebCore::AccessibilityNodeObject::shouldEmitNewlinesBeforeAndAfterNode const): Deleted.
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/cocoa/AXTextMarkerCocoa.mm:
(WebCore::AXTextMarkerRange::toAttributedString const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::setProperty):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
Canonical link: https://commits.webkit.org/287745@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list