summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_gtk.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
index 4fb20ba..e8ce708 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc
@@ -135,15 +135,16 @@ class RenderWidgetHostViewGtkWidget {
// 2. The given key event is not a control-key event but printable
// characters aren't assigned to the event, (e.g. alt+d, etc.)
// Create a Char event manually from this key event and send it to the
- // renderer only when this event is a control-key event because
- // control-key events should be processed by WebKit.
+ // renderer when this Char event contains a printable character which
+ // should be processed by WebKit.
// TODO(hbono): Windows Chrome sends a Char event with its isSystemKey
// value true for the above case 2. We should emulate this behavior?
if (event->type == GDK_KEY_PRESS &&
!gdk_keyval_to_unicode(event->keyval)) {
NativeWebKeyboardEvent wke(event);
wke.type = WebKit::WebInputEvent::Char;
- host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke);
+ if (wke.text[0])
+ host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke);
}
}