Before http://trac.webkit.org/changeset/80121, moving caret to the end of a misspelled word will bring up a suggestion panel. In changeset 80121, the additional call to setSelection() in SelectionController::textWillBeReplaced() broke this behavior. Previously, after a deletion command, when the call to changeSelectionAfterCommand() in Editor::appliedEditing() will trigger the correction panel timer. In change set 80121, the call to setSelection in SelectionController::textWillBeReplaced() triggers the timer. However the timer immediately gets cancelled at the beginning of Editor::appliedEditing(). Since we already changed the selection, the call to changeSelectionAfterCommand() will not change the selection again, hence the timer will not be started. The fix is to remove the call to stopCorrectionPanelTimer() in Editor::appliedEditing(). This code was added http://trac.webkit.org/changeset/71385, but was rendered unnecessary by subsequent changes. If fact, it now has undesired side effect.
Created attachment 84485 [details] Proposed patch (v1)
Thanks for detecting & fixing this regression! Great to see unnecessary code being removed .
Comment on attachment 84485 [details] Proposed patch (v1) Clearing flags on attachment: 84485 Committed r80226: <http://trac.webkit.org/changeset/80226>
All reviewed patches have been landed. Closing bug.