From 035287d8c3d2da31f7a6b64b4640768a4f6522cc Mon Sep 17 00:00:00 2001 From: "estade@chromium.org" Date: Thu, 30 Jul 2009 20:22:20 +0000 Subject: GTK: render view: grab focus *before* forwarding mouse event to renderer. BUG=18047 TEST=see bug Review URL: http://codereview.chromium.org/159654 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22090 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/renderer_host/render_widget_host_view_gtk.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'chrome/browser/renderer_host/render_widget_host_view_gtk.cc') 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 98ed533..eddcf59 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_gtk.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_gtk.cc @@ -779,15 +779,16 @@ class RenderWidgetHostViewGtkWidget { event->x = x; event->y = y; } - host_view->is_popup_first_mouse_release_ = false; - host_view->GetRenderWidgetHost()->ForwardMouseEvent( - WebInputEventFactory::mouseEvent(event)); // TODO(evanm): why is this necessary here but not in test shell? // This logic is the same as GtkButton. if (event->type == GDK_BUTTON_PRESS && !GTK_WIDGET_HAS_FOCUS(widget)) gtk_widget_grab_focus(widget); + host_view->is_popup_first_mouse_release_ = false; + host_view->GetRenderWidgetHost()->ForwardMouseEvent( + WebInputEventFactory::mouseEvent(event)); + // Although we did handle the mouse event, we need to let other handlers // run (in particular the one installed by TabContentsViewGtk). return FALSE; -- cgit v1.1