Right now, various member functions of DOMSelection instantiates VisibleSelection. This would mean that all those functions are triggering synchronous layout at that point. Defer those synchronous layout until FrameSelection's member functions are called so that we may optimize them later in the bug 127832.
This change is needed to increase the test coverage of asynchronous selection because we don't have that many tests for selection inside text fields.
Created attachment 224307 [details] Cleanup
Committed r164188: <http://trac.webkit.org/changeset/164188>