summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-22 15:32:55 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-22 15:32:55 +0000
commit783b60e565116b02e354f18bd2bd66094568f5c1 (patch)
tree24734a1d128932795719d8545b897e26bcc07589 /webkit
parent4be8f31c6f2f69d1c04a0ff93612ff533ab2ad26 (diff)
downloadchromium_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.cc4
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) {