diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-10 23:33:54 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-10 23:33:54 +0000 |
commit | 0b9803cdd8e63251ad6485608dc7c00d439c0729 (patch) | |
tree | 37cfa270905788f1bbdc20ea80be335a95bf7e9f | |
parent | f144fb4173aad8dc24203750c82a2c757048ceee (diff) | |
download | chromium_src-0b9803cdd8e63251ad6485608dc7c00d439c0729.zip chromium_src-0b9803cdd8e63251ad6485608dc7c00d439c0729.tar.gz chromium_src-0b9803cdd8e63251ad6485608dc7c00d439c0729.tar.bz2 |
Fill in more gtk callbacks in RenderWidgetHostViewGtk.
Mostly ripped directly from WebWidgetHostGtk.
Review URL: http://codereview.chromium.org/24009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9531 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host_view_gtk.cc | 18 |
1 files changed, 15 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 5561505..31f14ad 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc @@ -72,18 +72,27 @@ class RenderWidgetHostViewGtkWidget { static gboolean KeyPressReleaseEvent(GtkWidget* widget, GdkEventKey* event, RenderWidgetHostViewGtk* host_view) { + WebKeyboardEvent wke(event); + host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke); + + // See note in webwidget_host_gtk.cc::HandleKeyPress(). + if (event->type == GDK_KEY_PRESS) { + wke.type = WebKeyboardEvent::CHAR; + host_view->GetRenderWidgetHost()->ForwardKeyboardEvent(wke); + } + return FALSE; } static gboolean FocusIn(GtkWidget* widget, GdkEventFocus* focus, RenderWidgetHostViewGtk* host_view) { - NOTIMPLEMENTED(); + host_view->GetRenderWidgetHost()->Focus(); return FALSE; } static gboolean FocusOut(GtkWidget* widget, GdkEventFocus* focus, RenderWidgetHostViewGtk* host_view) { - NOTIMPLEMENTED(); + host_view->GetRenderWidgetHost()->Blur(); return FALSE; } @@ -97,12 +106,15 @@ class RenderWidgetHostViewGtkWidget { static gboolean MouseMoveEvent(GtkWidget* widget, GdkEventMotion* event, RenderWidgetHostViewGtk* host_view) { + WebMouseEvent wme(event); + host_view->GetRenderWidgetHost()->ForwardMouseEvent(wme); return FALSE; } static gboolean MouseScrollEvent(GtkWidget* widget, GdkEventScroll* event, RenderWidgetHostViewGtk* host_view) { - NOTIMPLEMENTED(); + WebMouseWheelEvent wmwe(event); + host_view->GetRenderWidgetHost()->ForwardWheelEvent(wmwe); return FALSE; } }; |