Fix keycode problems for modified keys.
There is a problem with keycode generation for non-trivial characters
(i.e. those that have modifiers) because the event array generated is
not simply a KeyDown/KeyUp combination; each modifier also gets a pair
of events.
Instead, scan through the events and send the first KeyDown that isn't
a modifier key. Also, don't send key events if nothing is changing
(as happens with the final "commit").
SendSythenticKeyEvent needed to be extended to accept modifier flags.
BUG=118639
Review URL: https://codereview.chromium.org/426063002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288179 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed