Index: chrome/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.mm b/chrome/browser/renderer_host/render_widget_host_view_mac.mm |
index 82720be1acbb639f0fa244293e19b60c2c688dfd..784f091de3a7271af82be439a7165088febfd905 100644 |
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -665,10 +665,11 @@ void RenderWidgetHostViewMac::SetBackground(const SkBitmap& background) { |
if ([self retainCount] > 1 && [theEvent type] == NSKeyDown) { |
[self interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; |
- // We don't get insertText: calls if ctrl is down, so synthesize a keypress |
- // event for that case. Note that this makes our behavior deviate from the |
- // windows and linux versions of chrome (however, see http://crbug.com/13891 |
- // ), but it makes us similar to how Safari behaves. |
+ // We don't get insertText: calls if ctrl is down and not even a keyDown: |
+ // call if cmd is down, so synthesize a keypress event for these cases. |
+ // Note that this makes our behavior deviate from the windows and linux |
+ // versions of chrome (however, see http://crbug.com/13891 ), but it makes |
+ // us behave similar to how Safari behaves. |
if ([theEvent modifierFlags] & (NSControlKeyMask | NSCommandKeyMask) && |
lastKeyPressedEvent_.get() != theEvent && |
[[theEvent characters] length] > 0 && |