RenderTextControl currently has many functions that instantiate VisiblePosition but this may cause layout and destroy the RenderTextControl itself. We must remove this dependency as soon as possible.
Now, the only member function of RenderTextControl that uses VisiblePosition is visiblePositionForIndex, which is inherited from RenderObject. Since removing visiblePositionForIndex from RenderTextControl requires removing it from RenderObject, I consider this to be beyond the scope of this bug.