summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/autocomplete')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
index 1ee5a15..1baabef 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
@@ -459,6 +459,7 @@ gboolean AutocompleteEditViewGtk::HandleKeyPress(GtkWidget* widget,
if (event->keyval == GDK_Return ||
event->keyval == GDK_ISO_Enter ||
event->keyval == GDK_KP_Enter ||
+ event->keyval == GDK_Tab ||
(event->keyval == GDK_Escape && event->state == 0)) {
// Handle IME. This is basically taken from GtkTextView and reworked a bit.
GtkTextIter iter;
@@ -475,7 +476,13 @@ gboolean AutocompleteEditViewGtk::HandleKeyPress(GtkWidget* widget,
}
} else {
// Ok, not handled by the IME, we can handle it.
- if (event->keyval == GDK_Escape) {
+ if (event->keyval == GDK_Tab) {
+ if (model_->is_keyword_hint() && !model_->keyword().empty()) {
+ model_->AcceptKeyword();
+ } else {
+ return FALSE; // Let GtkTextView handle the tab focus change.
+ }
+ } else if (event->keyval == GDK_Escape) {
model_->OnEscapeKeyPressed();
} else {
bool alt_held = (event->state & GDK_MOD1_MASK);