diff options
Diffstat (limited to 'WebCore/accessibility/mac/AccessibilityObjectWrapper.mm')
-rw-r--r-- | WebCore/accessibility/mac/AccessibilityObjectWrapper.mm | 65 |
1 files changed, 38 insertions, 27 deletions
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm index 9595e25..859a799 100644 --- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm +++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm @@ -2352,37 +2352,37 @@ static RenderObject* rendererForView(NSView* view) } // dispatch - if ([attribute isEqualToString: @"AXUIElementForTextMarker"]) { + if ([attribute isEqualToString:@"AXUIElementForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return m_object->accessibilityObjectForPosition(visiblePos)->wrapper(); } - if ([attribute isEqualToString: @"AXTextMarkerRangeForUIElement"]) { + if ([attribute isEqualToString:@"AXTextMarkerRangeForUIElement"]) { VisiblePositionRange vpRange = uiElement.get()->visiblePositionRange(); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXLineForTextMarker"]) { + if ([attribute isEqualToString:@"AXLineForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return [NSNumber numberWithUnsignedInt:m_object->lineForPosition(visiblePos)]; } - if ([attribute isEqualToString: @"AXTextMarkerRangeForLine"]) { + if ([attribute isEqualToString:@"AXTextMarkerRangeForLine"]) { VisiblePositionRange vpRange = m_object->visiblePositionRangeForLine([number intValue]); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXStringForTextMarkerRange"]) { + if ([attribute isEqualToString:@"AXStringForTextMarkerRange"]) { VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange]; return m_object->stringForVisiblePositionRange(visiblePosRange); } - if ([attribute isEqualToString: @"AXTextMarkerForPosition"]) { + if ([attribute isEqualToString:@"AXTextMarkerForPosition"]) { IntPoint webCorePoint = IntPoint(point); return pointSet ? textMarkerForVisiblePosition(m_object->visiblePositionForPoint(webCorePoint)) : nil; } - if ([attribute isEqualToString: @"AXBoundsForTextMarkerRange"]) { + if ([attribute isEqualToString:@"AXBoundsForTextMarkerRange"]) { VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange]; NSRect rect = m_object->boundsForVisiblePositionRange(visiblePosRange); return [NSValue valueWithRect:rect]; @@ -2405,10 +2405,10 @@ static RenderObject* rendererForView(NSView* view) return m_object->stringForVisiblePositionRange(VisiblePositionRange(start, end)); } - if ([attribute isEqualToString: @"AXAttributedStringForTextMarkerRange"]) + if ([attribute isEqualToString:@"AXAttributedStringForTextMarkerRange"]) return [self doAXAttributedStringForTextMarkerRange:textMarkerRange]; - if ([attribute isEqualToString: @"AXTextMarkerRangeForUnorderedTextMarkers"]) { + if ([attribute isEqualToString:@"AXTextMarkerRangeForUnorderedTextMarkers"]) { if ([array count] < 2) return nil; @@ -2424,99 +2424,99 @@ static RenderObject* rendererForView(NSView* view) return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXNextTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXNextTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->nextVisiblePosition(visiblePos)); } - if ([attribute isEqualToString: @"AXPreviousTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXPreviousTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->previousVisiblePosition(visiblePos)); } - if ([attribute isEqualToString: @"AXLeftWordTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXLeftWordTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->positionOfLeftWord(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXRightWordTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXRightWordTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->positionOfRightWord(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXLeftLineTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXLeftLineTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->leftLineVisiblePositionRange(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXRightLineTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXRightLineTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->rightLineVisiblePositionRange(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXSentenceTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXSentenceTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->sentenceForPosition(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXParagraphTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXParagraphTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->paragraphForPosition(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXNextWordEndTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXNextWordEndTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->nextWordEnd(visiblePos)); } - if ([attribute isEqualToString: @"AXPreviousWordStartTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXPreviousWordStartTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->previousWordStart(visiblePos)); } - if ([attribute isEqualToString: @"AXNextLineEndTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXNextLineEndTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->nextLineEndPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXPreviousLineStartTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXPreviousLineStartTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->previousLineStartPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXNextSentenceEndTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXNextSentenceEndTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->nextSentenceEndPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXPreviousSentenceStartTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXPreviousSentenceStartTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->previousSentenceStartPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXNextParagraphEndTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXNextParagraphEndTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->nextParagraphEndPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXPreviousParagraphStartTextMarkerForTextMarker"]) { + if ([attribute isEqualToString:@"AXPreviousParagraphStartTextMarkerForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); return textMarkerForVisiblePosition(m_object->previousParagraphStartPosition(visiblePos)); } - if ([attribute isEqualToString: @"AXStyleTextMarkerRangeForTextMarker"]) { + if ([attribute isEqualToString:@"AXStyleTextMarkerRangeForTextMarker"]) { VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker); VisiblePositionRange vpRange = m_object->styleRangeForPosition(visiblePos); return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end); } - if ([attribute isEqualToString: @"AXLengthForTextMarkerRange"]) { + if ([attribute isEqualToString:@"AXLengthForTextMarkerRange"]) { VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange]; int length = m_object->lengthForVisiblePositionRange(visiblePosRange); if (length < 0) @@ -2524,6 +2524,17 @@ static RenderObject* rendererForView(NSView* view) return [NSNumber numberWithInt:length]; } + // Used only by DumpRenderTree (so far). + if ([attribute isEqualToString:@"AXStartTextMarkerForTextMarkerRange"]) { + VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange]; + return textMarkerForVisiblePosition(visiblePosRange.start); + } + + if ([attribute isEqualToString:@"AXEndTextMarkerForTextMarkerRange"]) { + VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange]; + return textMarkerForVisiblePosition(visiblePosRange.end); + } + if (m_object->isDataTable()) { if ([attribute isEqualToString:NSAccessibilityCellForColumnAndRowParameterizedAttribute]) { if (array == nil || [array count] != 2) |