The problem is that in TextCheckerEnchant::checkSpellingOfString() the inner loop that looks for the end of the word doesn't break when end > numberOfCharacters.
Created attachment 175799 [details] Patch We could just fix the infinite loop by adding the check to break the inner loop, but the code can be optimized and simplified a lot using the word iterator to iterate the words and it also fixes the infinite loop.
Comment on attachment 175799 [details] Patch Great. As long as tests pass this look like an incredible improvement.
You might want to double-check this patch before landing. At some point it seemed that the TextIterators did not support nested iterators. Perhaps that's been changed in WebCore though. This is an issue because the spell checker is called while walking through a text iterator at some points.
Committed r135618: <http://trac.webkit.org/changeset/135618>