The RenderEditable needs to be laid out before hit testing

Summary

Context

Migration guide

Timeline

References

Summary

Instances of RenderEditable must be laid out before processing hit
testing. Trying to hit-test a RenderEditable object before layout
results in an assertion such as the following:

Failed assertion: line 123 pos 45: '!debugNeedsLayout': is not true.

Context

To support gesture recognizers in selectable text, the
RenderEditable requires the layout information for its
text spans to determine which text span receives the
pointer event. (Before this change, RenderEditable objects 
didn’t take their text into account when evaluating hit tests.)
To implement this, layout was made a prerequisite for performing
hit testing on a RenderEditable object.