Index: chrome/browser/chromeos/events/event_rewriter.cc |
diff --git a/chrome/browser/chromeos/events/event_rewriter.cc b/chrome/browser/chromeos/events/event_rewriter.cc |
index fdd465ff6897bcd970bbf08d91b758457a58e186..cc70aee64f6f4a381002d8e805d40619c7d6e503 100644 |
--- a/chrome/browser/chromeos/events/event_rewriter.cc |
+++ b/chrome/browser/chromeos/events/event_rewriter.cc |
@@ -165,17 +165,6 @@ void UpdateX11Button(int ui_flag, unsigned int* x_button) { |
} |
#endif // defined(USE_X11) |
-bool IsSendEvent(const ui::Event& event) { |
-#if defined(USE_X11) |
- // Do not rewrite an event sent by ui_controls::SendKeyPress(). See |
- // crbug.com/136465. |
- XEvent* xev = event.native_event(); |
- if (xev && xev->xany.send_event) |
- return true; |
-#endif |
- return false; |
-} |
- |
} // namespace |
EventRewriter::EventRewriter(ash::StickyKeysController* sticky_keys_controller) |
@@ -389,8 +378,9 @@ ui::EventRewriteStatus EventRewriter::RewriteKeyEvent( |
if (key_event.source_device_id() != ui::ED_UNKNOWN_DEVICE) |
DeviceKeyPressedOrReleased(key_event.source_device_id()); |
MutableKeyState state = {key_event.flags(), key_event.key_code()}; |
- bool is_send_event = IsSendEvent(key_event); |
- if (!is_send_event) { |
+ // Do not rewrite an event sent by ui_controls::SendKeyPress(). See |
+ // crbug.com/136465. |
+ if (!(key_event.flags() & ui::EF_FINAL_MODIFIERS)) { |
RewriteModifierKeys(key_event, &state); |
RewriteNumPadKeys(key_event, &state); |
} |
@@ -401,10 +391,8 @@ ui::EventRewriteStatus EventRewriter::RewriteKeyEvent( |
if (status == ui::EVENT_REWRITE_DISCARD) |
return ui::EVENT_REWRITE_DISCARD; |
} |
- if (!is_send_event) { |
sadrul
2014/07/15 04:48:07
Do you not need the check here anymore?
kpschoedel
2014/07/15 14:27:46
It was never actually needed here. Before sticky k
kpschoedel
2014/07/16 20:18:25
It turns out this is necessary; the KeyboardAccess
|
- RewriteExtendedKeys(key_event, &state); |
- RewriteFunctionKeys(key_event, &state); |
- } |
+ RewriteExtendedKeys(key_event, &state); |
+ RewriteFunctionKeys(key_event, &state); |
if ((key_event.flags() == state.flags) && |
(key_event.key_code() == state.key_code) && |
#if defined(USE_X11) |