During simple pastes (just pasting a text node) into a run of text, we don't just insert the text into the text node that holds the selection, we split and insert the fragment. This is slow and we run into this problem: https://bugs.webkit.org/show_bug.cgi?id=6148 in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic. <rdar://problem/6758795>
Created attachment 29492 [details] patch
Created attachment 29495 [details] patch updated changelog
Comment on attachment 29495 [details] patch r=me. You can move the definition of textNode and text after the last early return.
http://trac.webkit.org/changeset/42549 Checked in a fast path that works for plain text regions and rich text regions when pasting plain text. Still need to handle rich text (fragments that are wrapped in style spans but doing so will necessitate using positions instead of nodes to track the start/end of inserted content.