AX: crash at WebCore::Range::selectNodeContents(WebCore::Node*, int&)
[WebKit-https.git] / Source / WebCore / accessibility / mac / WebAccessibilityObjectWrapperMac.mm
index 985e756aea0c4f35c6de51a2e91fdfa255676424..ecc0bd4092b16b918fbb5b4d1344c27b4c72e963 100644 (file)
@@ -900,16 +900,21 @@ static id textMarkerForCharacterOffset(AXObjectCache* cache, Node& node, int off
     return cache->rangeForUnorderedCharacterOffsets(startCharacterOffset, endCharacterOffset);
 }
 
-- (CharacterOffset)characterOffsetForTextMarker:(id)textMarker
+static CharacterOffset characterOffsetForTextMarker(AXObjectCache* cache, CFTypeRef textMarker)
 {
-    if (!textMarker || isTextMarkerIgnored(textMarker))
+    if (!cache || !textMarker)
         return CharacterOffset();
     
     TextMarkerData textMarkerData;
     if (!wkGetBytesFromAXTextMarker(textMarker, &textMarkerData, sizeof(textMarkerData)))
         return CharacterOffset();
     
-    return CharacterOffset(textMarkerData.node, textMarkerData.characterStartIndex, textMarkerData.characterOffset);
+    return cache->characterOffsetForTextMarkerData(textMarkerData);
+}
+
+- (CharacterOffset)characterOffsetForTextMarker:(id)textMarker
+{
+    return characterOffsetForTextMarker(m_object->axObjectCache(), textMarker);
 }
 
 static id textMarkerForVisiblePosition(AXObjectCache* cache, const VisiblePosition& visiblePos)