diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-22 15:32:55 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-22 15:32:55 +0000 |
commit | 783b60e565116b02e354f18bd2bd66094568f5c1 (patch) | |
tree | 24734a1d128932795719d8545b897e26bcc07589 /webkit | |
parent | 4be8f31c6f2f69d1c04a0ff93612ff533ab2ad26 (diff) | |
download | chromium_src-783b60e565116b02e354f18bd2bd66094568f5c1.zip chromium_src-783b60e565116b02e354f18bd2bd66094568f5c1.tar.gz chromium_src-783b60e565116b02e354f18bd2bd66094568f5c1.tar.bz2 |
Don't cache keystate if not blocked by UIPI
BUG=94240
TEST=Input @ character in a Flash text input with a Danish keyboard
Review URL: http://codereview.chromium.org/7978050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102278 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/plugins/npapi/webplugin_delegate_impl_win.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/webkit/plugins/npapi/webplugin_delegate_impl_win.cc b/webkit/plugins/npapi/webplugin_delegate_impl_win.cc index ce24dec..d0b1888 100644 --- a/webkit/plugins/npapi/webplugin_delegate_impl_win.cc +++ b/webkit/plugins/npapi/webplugin_delegate_impl_win.cc @@ -106,7 +106,9 @@ bool GetSavedKeyState(WPARAM vkey) { void SetSavedKeyState(WPARAM vkey) { CHECK_LT(vkey, kBitsPerType * sizeof(g_saved_key_state)); - g_saved_key_state[vkey / kBitsPerType] |= 1 << (vkey % kBitsPerType); + // Cache the key state only for keys blocked by UIPI. + if (g_iat_orig_get_key_state(vkey) == 0) + g_saved_key_state[vkey / kBitsPerType] |= 1 << (vkey % kBitsPerType); } void UnsetSavedKeyState(WPARAM vkey) { |