summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 23:41:23 +0000
committerjschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 23:41:23 +0000
commit8eef1e4e309d0edfbc7dc1185c85fee8984df71e (patch)
tree23f1292c6d853a2444d6094da91329e6a45c27d8 /webkit
parentb00d95f6a06dbdd78d1771d2e95fc6c948052bff (diff)
downloadchromium_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.cc10
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)) {