summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-06 16:31:40 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-06 16:31:40 +0000
commitc80703e78d29efa140ec68078e901c1f523ac0fc (patch)
tree98cf257f0fe205bace548c1e38a515f3c52eade3 /views
parent24b5d5bfbf8272f7f8602c652674b49ffd0b2794 (diff)
downloadchromium_src-c80703e78d29efa140ec68078e901c1f523ac0fc.zip
chromium_src-c80703e78d29efa140ec68078e901c1f523ac0fc.tar.gz
chromium_src-c80703e78d29efa140ec68078e901c1f523ac0fc.tar.bz2
Dispatch key event to bindings processing.
This properly activates the default widget on a GtkWindow. BUG=chromium-os:4005 TEST=Default button of hosted native dialogs in ChromeOS should work. Review URL: http://codereview.chromium.org/3087011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/widget/widget_gtk.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc
index 42aac38..1f7afb2 100644
--- a/views/widget/widget_gtk.cc
+++ b/views/widget/widget_gtk.cc
@@ -1182,6 +1182,10 @@ gboolean WidgetGtk::OnKeyEvent(GtkWidget* widget, GdkEventKey* event) {
if (!handled)
handled = HandleKeyboardEvent(event);
+ // Dispatch the key event for bindings processing.
+ if (!handled && GTK_IS_WINDOW(widget))
+ handled = gtk_bindings_activate_event(GTK_OBJECT(widget), event);
+
// Always return true for toplevel window to prevents GtkWindow's default key
// event handler.
return GTK_IS_WINDOW(widget) ? true : handled;