Title: [268084] trunk/Source/WebCore
Revision
268084
Author
cfleiz...@apple.com
Date
2020-10-06 16:21:34 -0700 (Tue, 06 Oct 2020)

Log Message

AX: Expose lineRangeForPosition for iOS Accessibility code
https://bugs.webkit.org/show_bug.cgi?id=217256
<rdar://problem/67478962>

Reviewed by Zalan Bujtas.

Expose the existing lineRangeForPosition method for iOS accessibility.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper lineMarkersForMarker:]):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (268083 => 268084)


--- trunk/Source/WebCore/ChangeLog	2020-10-06 23:16:06 UTC (rev 268083)
+++ trunk/Source/WebCore/ChangeLog	2020-10-06 23:21:34 UTC (rev 268084)
@@ -1,3 +1,16 @@
+2020-10-06  Chris Fleizach  <cfleiz...@apple.com>
+
+        AX: Expose lineRangeForPosition for iOS Accessibility code
+        https://bugs.webkit.org/show_bug.cgi?id=217256
+        <rdar://problem/67478962>
+
+        Reviewed by Zalan Bujtas.
+
+        Expose the existing lineRangeForPosition method for iOS accessibility.
+
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper lineMarkersForMarker:]):
+
 2020-10-06  Zalan Bujtas  <za...@apple.com>
 
         [LFC][BFC] Move document box special height computation out of contentHeightForFormattingContextRoot

Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (268083 => 268084)


--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-10-06 23:16:06 UTC (rev 268083)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2020-10-06 23:21:34 UTC (rev 268084)
@@ -2675,6 +2675,24 @@
     return [WebAccessibilityTextMarker textMarkerWithVisiblePosition:lineEnd cache:self.axBackingObject->axObjectCache()];
 }
 
+// Returns start/end markers for the line based on position
+- (NSArray<WebAccessibilityTextMarker *> *)lineMarkersForMarker:(WebAccessibilityTextMarker *)marker
+{
+    if (![self _prepareAccessibilityCall])
+        return nil;
+
+    if (!marker)
+        return nil;
+
+    auto range = self.axBackingObject->lineRangeForPosition([marker visiblePosition]);
+    auto* startMarker = [WebAccessibilityTextMarker textMarkerWithVisiblePosition:range.start cache:self.axBackingObject->axObjectCache()];
+    auto* endMarker = [WebAccessibilityTextMarker textMarkerWithVisiblePosition:range.end cache:self.axBackingObject->axObjectCache()];
+    if (!startMarker || !endMarker)
+        return nil;
+    
+    return @[ startMarker, endMarker ];
+}
+
 // This method is intended to return the marker at the start of the line starting at
 // the marker that is passed into the method.
 - (WebAccessibilityTextMarker *)lineStartMarkerForMarker:(WebAccessibilityTextMarker *)marker
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to