ether/etherpad-lite — pull request #1833 by dlongley (2013-07-14 06:08:29+00:00)
Title: Make pads with long lines usable with chrome.

- Do not use incorpIfQuick on keyup because it's not ever quick
on chrome. Calling incorpIfQuick calls incorporateUserChanges
which sets a flag on the current callstack state indicating
that the selection has changed (since something was typed).
Whenever this flag is set, the event handler will run code
to update the selection (and possibly scroll the view as
well), which is a very costly operation in webkit browsers.
Instead let the user changes be incorporated by the idle worker,
scheduling it to run ASAP on keyup. This isn't a perfect
solution, but may make pads running on webkit browsers more
usable with otherwise fairly unnoticeable changes in the UI.