[webkit-changes] [WebKit/WebKit] a805e7: AX: Refactoring of TextMarkers and TextMarkerRange...

AndresGonzalezApple noreply at github.com
Sat Jan 21 07:09:54 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a805e7d61cce8947c871b0a1e3895ba168e3c00c
      https://github.com/WebKit/WebKit/commit/a805e7d61cce8947c871b0a1e3895ba168e3c00c
  Author: Andres Gonzalez <andresg_22 at apple.com>
  Date:   2023-01-21 (Sat, 21 Jan 2023)

  Changed paths:
    M LayoutTests/accessibility/mac/element-for-text-marker-expected.txt
    M LayoutTests/accessibility/mac/element-for-text-marker.html
    M LayoutTests/accessibility/mac/search-predicate-from-ignored-element-expected.txt
    M LayoutTests/accessibility/mac/search-predicate-from-ignored-element.html
    M LayoutTests/accessibility/mac/textmarker-range-for-range-expected.txt
    M LayoutTests/accessibility/mac/textmarker-range-for-range.html
    M LayoutTests/accessibility/mac/visible-position-crash-for-text-node-expected.txt
    M LayoutTests/accessibility/mac/visible-position-crash-for-text-node.html
    M LayoutTests/accessibility/text-marker/text-marker-previous-next-expected.txt
    M LayoutTests/accessibility/text-marker/text-marker-previous-next.html
    M LayoutTests/platform/mac/accessibility/text-marker/text-marker-previous-next-expected.txt
    M Source/WebCore/Sources.txt
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    A Source/WebCore/accessibility/AXTextMarker.cpp
    A Source/WebCore/accessibility/AXTextMarker.h
    M Source/WebCore/accessibility/AXTreeStore.h
    A Source/WebCore/accessibility/cocoa/AXTextMarkerCocoa.mm
    M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
    M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  -----------
  AX: Refactoring of TextMarkers and TextMarkerRanges support on Mac.
https://bugs.webkit.org/show_bug.cgi?id=230558
rdar://83625620

Reviewed by Chris Fleizach.

This is the first change in a series aimed at supporting TextMarkers off of the main thread.

This patch adds the AXTextMarker and AXTextMarkerRange classes to provide the functionality that is currently implemented through VisiblePositions, CharacterOffsets and AXTextMarkerRefs.
AXTextMarker encapsulates the AXIDs of the backing AXObjectCache and AXIsolatedTree, as well as the AXID of the corresponding AXCoreObject. This allows for the retrieval of the TextMarker properties without having to resource to the underlying DOM and RenderTree objects.

The following Mac AX API attributes are now implemented without hitting the main thread using AXTextMarker and AXTextMarkerRange:
AXUIElementForTextMarker
AXTextMarkerRangeForTextMarkers
AXStartTextMarkerForTextMarkerRange
AXEndTextMarkerForTextMarkerRange

This patch also includes an update of several layout tests related to TextMarkers.

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




More information about the webkit-changes mailing list