| Index: chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
|
| diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
|
| index baebcefd452a3f9c33deef895124943f5094aa3f..f9571373767d08d04d6eea8e247f47c48db798c3 100644
|
| --- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
|
| +++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc
|
| @@ -184,7 +184,6 @@ AutocompleteEditViewGtk::AutocompleteEditViewGtk(
|
| tab_was_pressed_(false),
|
| paste_clipboard_requested_(false),
|
| enter_was_inserted_(false),
|
| - enable_tab_to_search_(true),
|
| selection_suggested_(false),
|
| delete_was_pressed_(false),
|
| delete_at_end_pressed_(false),
|
| @@ -650,13 +649,10 @@ void AutocompleteEditViewGtk::OnRevertTemporaryText() {
|
| }
|
|
|
| void AutocompleteEditViewGtk::OnBeforePossibleChange() {
|
| - // If this change is caused by a paste clipboard action and all text is
|
| - // selected, then call model_->on_paste_replacing_all() to prevent inline
|
| - // autocomplete.
|
| + // Record this paste, so we can do different behavior.
|
| if (paste_clipboard_requested_) {
|
| paste_clipboard_requested_ = false;
|
| - if (IsSelectAll())
|
| - model_->on_paste_replacing_all();
|
| + model_->on_paste();
|
| }
|
|
|
| // This method will be called in HandleKeyPress() method just before
|
| @@ -696,8 +692,11 @@ bool AutocompleteEditViewGtk::OnAfterPossibleChange() {
|
|
|
| CharRange new_sel = GetSelection();
|
| int length = GetTextLength();
|
| - bool selection_differs = (new_sel.cp_min != sel_before_change_.cp_min) ||
|
| - (new_sel.cp_max != sel_before_change_.cp_max);
|
| + bool selection_differs =
|
| + ((new_sel.cp_min != new_sel.cp_max) ||
|
| + (sel_before_change_.cp_min != sel_before_change_.cp_max)) &&
|
| + ((new_sel.cp_min != sel_before_change_.cp_min) ||
|
| + (new_sel.cp_max != sel_before_change_.cp_max));
|
| bool at_end_of_edit = (new_sel.cp_min == length && new_sel.cp_max == length);
|
|
|
| // See if the text or selection have changed since OnBeforePossibleChange().
|
| @@ -1626,18 +1625,13 @@ void AutocompleteEditViewGtk::HandleViewMoveFocus(GtkWidget* widget,
|
| bool handled = false;
|
|
|
| // Trigger Tab to search behavior only when Tab key is pressed.
|
| - if (model_->is_keyword_hint() && !model_->keyword().empty()) {
|
| - if (enable_tab_to_search_) {
|
| - model_->AcceptKeyword();
|
| - handled = true;
|
| - }
|
| + if (model_->is_keyword_hint()) {
|
| + handled = model_->AcceptKeyword();
|
| + } else if (GTK_WIDGET_VISIBLE(instant_view_)) {
|
| + controller_->OnCommitSuggestedText(GetText());
|
| + handled = true;
|
| } else {
|
| - if (GTK_WIDGET_VISIBLE(instant_view_)) {
|
| - controller_->OnCommitSuggestedText(GetText());
|
| - handled = true;
|
| - } else {
|
| - handled = controller_->AcceptCurrentInstantPreview();
|
| - }
|
| + handled = controller_->AcceptCurrentInstantPreview();
|
| }
|
|
|
| if (handled) {
|
|
|