Get reliable points from offsets in virtual buffers (PR #8479)
Fixes #6460
1. Added two attributes to virtual buffer text nodes.
- ia2TextOffset: holds the start offset for a TextFieldNode within the IAccessibleText of its associated
object. This attribute is only added to text field nodes that originate from IAccessibleText.
- strippedCharsFromStart: When characters are stripped from the start of a text node (#2963) this
attribute holds the amount of stripped chars from the start, in order for us to correct the
ia2TextOffset.
2. the Gecko virtual buffer text info now has its own _getPointFromOffset implementation that uses the new virtual buffer attributes.
3. VirtualBufferTextInfo.getTextWithFields is now split up into a helper function _getFieldsInRange, similar to DisplayModelTextInfo. This allows for easy retrieval of control/format fields in a particular range, regardless where the text info is positioned.
4. pointFromOffset in the adobe acrobat virtual buffer now uses the _indexINParent attribute. It seems Adobe Acrobat has separate dom nodes for every word, so pointFromOffset now gets the center point of the word, which is far better than it was before.