diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-22 23:41:23 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-22 23:41:23 +0000 |
commit | 8eef1e4e309d0edfbc7dc1185c85fee8984df71e (patch) | |
tree | 23f1292c6d853a2444d6094da91329e6a45c27d8 /webkit | |
parent | b00d95f6a06dbdd78d1771d2e95fc6c948052bff (diff) | |
download | chromium_src-8eef1e4e309d0edfbc7dc1185c85fee8984df71e.zip chromium_src-8eef1e4e309d0edfbc7dc1185c85fee8984df71e.tar.gz chromium_src-8eef1e4e309d0edfbc7dc1185c85fee8984df71e.tar.bz2 |
Cache keyState for windowless Flash plugins.
BUG=93817
TEST=Play Robot Unicorn Attack.
Review URL: http://codereview.chromium.org/7709014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97774 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/plugins/npapi/webplugin_delegate_impl_win.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/webkit/plugins/npapi/webplugin_delegate_impl_win.cc b/webkit/plugins/npapi/webplugin_delegate_impl_win.cc index 2211f6c..80582b3 100644 --- a/webkit/plugins/npapi/webplugin_delegate_impl_win.cc +++ b/webkit/plugins/npapi/webplugin_delegate_impl_win.cc @@ -1183,6 +1183,9 @@ bool WebPluginDelegateImpl::PlatformSetPluginHasFocus(bool focused) { focus_event.wParam = 0; focus_event.lParam = 0; + if (GetQuirks() & PLUGIN_QUIRK_PATCH_GETKEYSTATE) + ClearSavedKeyState(); + instance()->NPP_HandleEvent(&focus_event); return true; } @@ -1302,6 +1305,13 @@ bool WebPluginDelegateImpl::PlatformHandleInputEvent( return false; } + if (GetQuirks() & PLUGIN_QUIRK_PATCH_GETKEYSTATE) { + if (np_event.event == WM_KEYDOWN) + SetSavedKeyState(np_event.wParam); + else if (np_event.event == WM_KEYUP) + UnsetSavedKeyState(np_event.wParam); + } + HWND last_focus_window = NULL; if (ShouldTrackEventForModalLoops(&np_event)) { |