Changeset 200508 in webkit
- Timestamp:
- May 6, 2016 12:27:22 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r200501 r200508 1 2016-05-06 Nan Wang <n_wang@apple.com> 2 3 AX: String for document range is empty if end visible position anchors to a ignored replaced node 4 https://bugs.webkit.org/show_bug.cgi?id=157403 5 6 Reviewed by Chris Fleizach. 7 8 * accessibility/mac/text-marker-string-for-document-end-replaced-node-expected.txt: Added. 9 * accessibility/mac/text-marker-string-for-document-end-replaced-node.html: Added. 10 1 11 2016-05-05 Dean Jackson <dino@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r200507 r200508 1 2016-05-06 Nan Wang <n_wang@apple.com> 2 3 AX: String for document range is empty if end visible position anchors to a ignored replaced node 4 https://bugs.webkit.org/show_bug.cgi?id=157403 5 6 Reviewed by Chris Fleizach. 7 8 The CharacterOffset that is converted from VisiblePositon is wrong when the VisiblePostion anchors 9 to an ignored replaced node. Fixed it by adjusting the offset of the CharacterOffset correctly in 10 such case. 11 12 Test: accessibility/mac/text-marker-string-for-document-end-replaced-node.html 13 14 * accessibility/AXObjectCache.cpp: 15 (WebCore::characterOffsetsInOrder): 16 (WebCore::AXObjectCache::characterOffsetFromVisiblePosition): 17 (WebCore::AXObjectCache::accessibilityObjectForTextMarkerData): 18 1 19 2016-05-05 David Kilzer <ddkilzer@apple.com> 2 20 -
trunk/Source/WebCore/accessibility/AXObjectCache.cpp
r200258 r200508 1656 1656 Node* node1 = characterOffset1.node; 1657 1657 Node* node2 = characterOffset2.node; 1658 if (!node1->offsetInCharacters() && !isReplacedNodeOrBR(node1) )1658 if (!node1->offsetInCharacters() && !isReplacedNodeOrBR(node1) && node1->hasChildNodes()) 1659 1659 node1 = node1->traverseToChildAt(characterOffset1.offset); 1660 if (!node2->offsetInCharacters() && !isReplacedNodeOrBR(node2) )1660 if (!node2->offsetInCharacters() && !isReplacedNodeOrBR(node2) && node2->hasChildNodes()) 1661 1661 node2 = node2->traverseToChildAt(characterOffset2.offset); 1662 1662 … … 1998 1998 } 1999 1999 2000 return traverseToOffsetInRange(rangeForNodeContents(obj->node()), characterOffset); 2000 // Sometimes when the node is a replaced node and is ignored in accessibility, we get a wrong CharacterOffset from it. 2001 CharacterOffset result = traverseToOffsetInRange(rangeForNodeContents(obj->node()), characterOffset); 2002 if (result.remainingOffset > 0 && !result.isNull() && isRendererReplacedElement(result.node->renderer())) 2003 result.offset += result.remainingOffset; 2004 return result; 2001 2005 } 2002 2006
Note: See TracChangeset
for help on using the changeset viewer.