Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ef1d7119a4db5d2a8bd38b5ec902625a2cd9322d
      
https://github.com/WebKit/WebKit/commit/ef1d7119a4db5d2a8bd38b5ec902625a2cd9322d
  Author: Dominic Mazzoni <[email protected]>
  Date:   2026-08-13 (Thu, 13 Aug 2026)

  Changed paths:
    A 
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html
    A 
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt
    A 
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html
    A 
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline-expected.txt
    A 
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline.html
    M LayoutTests/platform/ios/TestExpectations
    M Source/WebCore/accessibility/AXCoreObject.h
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXTextMarker.cpp
    M Source/WebCore/accessibility/AXTextMarker.h
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
    M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm

  Log Message:
  -----------
  AX: live and isolated tree don't agree on several attributes when a textarea 
ends in a line break
https://bugs.webkit.org/show_bug.cgi?id=321454
rdar://184544371

Reviewed by Tyler Wilcock.

The character count and text marker range weren't consistent between the live 
tree and
isolated tree, for a textarea engine with a line break. Fix it by introducing a 
new
isCollapsedTrailingLineBreak() method and corresponding isolated node property, 
so
that it can be detected and stripped from the isolated tree.

Tests: 
accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html
       accessibility/mac/textarea-line-range-with-trailing-newline.html
       
accessibility/text-marker/textarea-character-count-with-trailing-newline.html

* 
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html:
 Added.
* 
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt:
 Added.
* LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html: 
Added.
* 
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline-expected.txt:
 Added.
* 
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline.html:
 Added.
* LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarkerRange::forEachTextPiece const):
(WebCore::AXTextMarkerRange::length const):
(WebCore::AXTextMarkerRange::toString const):
(WebCore::AXTextMarker::characterRangeForLine const):
(WebCore::AXTextMarker::lineNumberForIndex const):
(WebCore::AXTextMarker::atLineBoundaryForDirection const):
(WebCore::AXTextMarker::findLine const):
* Source/WebCore/accessibility/AXTextMarker.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isCollapsedTrailingLineBreak const):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::createIsolatedObjectData):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::visibleCharacterRange const):
(WebCore::AXIsolatedObject::textMarkerRangeForNSRange const):
(WebCore::AXIsolatedObject::textLength const):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(handleLengthForTextMarkerRangeAttribute):
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElementIOS::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElementIOS::misspellingTextMarkerRange):
(WTR::AccessibilityUIElementIOS::textMarkerRangeLength):
(WTR::AccessibilityUIElementIOS::previousTextMarker):
(WTR::AccessibilityUIElementIOS::nextTextMarker):
(WTR::AccessibilityUIElementIOS::stringForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::rectsForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElementIOS::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElementIOS::indexForTextMarker):
(WTR::AccessibilityUIElementIOS::textMarkerRangeMatchesTextNearMarkers):

Canonical link: https://commits.webkit.org/319133@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to