Resolving a Position to a VisiblePosition can be extraordinarily expensive. Only do it when absolutely necessary.
<rdar://problem/116780655>
Created attachment 468163 [details] Patch
Created attachment 468164 [details] Patch
Created attachment 468165 [details] Patch
Created attachment 468166 [details] Patch
Committed 269208@main (612749994064): <https://commits.webkit.org/269208@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 468166 [details].