Chromium Code Reviews| Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| index 38c8a5d849fbd66b77b7025d7299251bdade8ecc..7c70b333c64b7dcdbde8ec9949119f65003e352a 100644 |
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| @@ -684,9 +684,12 @@ bool PluginInstance::HandleInputEvent(const WebKit::WebInputEvent& event, |
| if ((filtered_input_event_mask_ & event_class) || |
| (input_event_mask_ & event_class)) { |
| + bool lowlevel_keyboard_events = (filtered_input_event_mask_ & |
| + PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev); |
| + |
| // Actually send the event. |
| std::vector< ::ppapi::InputEventData > events; |
| - CreateInputEventData(event, &events); |
| + CreateInputEventData(event, lowlevel_keyboard_events, &events); |
| // Each input event may generate more than one PP_InputEvent. |
| for (size_t i = 0; i < events.size(); i++) { |
| @@ -1898,6 +1901,9 @@ PP_Bool PluginInstance::FlashGetScreenSize(PP_Instance instance, |
| int32_t PluginInstance::RequestInputEvents(PP_Instance instance, |
| uint32_t event_classes) { |
| + if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev) |
| + event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD; |
|
Wez
2012/02/07 23:48:13
Can we not just require that the caller supply bot
garykac
2012/02/09 14:26:04
No longer applicable.
|
| + |
| input_event_mask_ |= event_classes; |
| filtered_input_event_mask_ &= ~(event_classes); |
| return ValidateRequestInputEvents(false, event_classes); |
| @@ -1905,6 +1911,9 @@ int32_t PluginInstance::RequestInputEvents(PP_Instance instance, |
| int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance, |
| uint32_t event_classes) { |
| + if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev) |
| + event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD; |
| + |
| filtered_input_event_mask_ |= event_classes; |
| input_event_mask_ &= ~(event_classes); |
| return ValidateRequestInputEvents(true, event_classes); |
| @@ -1912,6 +1921,9 @@ int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance, |
| void PluginInstance::ClearInputEventRequest(PP_Instance instance, |
| uint32_t event_classes) { |
| + if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev) |
| + event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD; |
| + |
| input_event_mask_ &= ~(event_classes); |
| filtered_input_event_mask_ &= ~(event_classes); |
| } |