Bug 411581. Text line boundary not working correctly with list items. r=surkov, a=schrep

This commit is contained in:
aaronleventhal@moonset.net 2008-01-21 09:01:05 -08:00
parent 3a909e38c3
commit 1ff5c7b80b

View File

@ -987,6 +987,13 @@ nsresult nsHyperTextAccessible::GetTextHelper(EGetTextType aType, nsAccessibleTe
if (!endFrame) {
return NS_ERROR_FAILURE;
}
if (endAcc && Role(endAcc) == nsIAccessibleRole::ROLE_STATICTEXT) {
// Static text like list bullets will ruin our forward calculation,
// since the caret cannot be in the static text. Start just after the static text.
startOffset = endOffset = finalStartOffset + (aBoundaryType == BOUNDARY_LINE_END) + TextLength(endAcc);
endFrame = GetPosAndText(startOffset, endOffset, nsnull, nsnull,
nsnull, getter_AddRefs(endAcc));
}
finalEndOffset = GetRelativeOffset(presShell, endFrame, endOffset, endAcc,
amount, eDirNext, needsStart);
NS_ENSURE_TRUE(endOffset >= 0, NS_ERROR_FAILURE);