Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(688)

Unified Diff: chrome/browser/ui/views/omnibox/omnibox_view_views.cc

Issue 9417032: Enabled pressing TAB to traverse through the Omnibox results (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/omnibox/omnibox_view_views.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
index 4809304a9cf9f66d3dc6fa63e1e823ceec225fa0..639971f7a09da11319d9a7cbdb2a3efc0db8313a 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -255,10 +255,18 @@ bool OmniboxViewViews::HandleAfterKeyEvent(const views::KeyEvent& event,
handled = true;
} else if (!handled &&
event.key_code() == ui::VKEY_TAB &&
- !event.IsShiftDown() &&
!event.IsControlDown()) {
- if (model_->is_keyword_hint()) {
+ if (model_->is_keyword_hint() && !event.IsShiftDown()) {
handled = model_->AcceptKeyword();
+ } else if (model_->popup_model()->IsOpen()) {
+ if (event.IsShiftDown() &&
+ model_->popup_model()->selected_line_state() ==
+ AutocompletePopupModel::KEYWORD) {
+ model_->ClearKeyword(GetText());
+ } else {
+ model_->OnUpOrDownKeyPressed(event.IsShiftDown() ? -1 : 1);
+ }
+ handled = true;
} else {
string16::size_type start = 0;
string16::size_type end = 0;
@@ -449,14 +457,14 @@ void OmniboxViewViews::SetUserText(const string16& text,
const string16& display_text,
bool update_popup) {
model_->SetUserText(text);
- SetWindowTextAndCaretPos(display_text, display_text.length());
- if (update_popup)
- UpdatePopup();
- TextChanged();
+ SetWindowTextAndCaretPos(display_text, display_text.length(), update_popup,
+ true);
}
void OmniboxViewViews::SetWindowTextAndCaretPos(const string16& text,
- size_t caret_pos) {
+ size_t caret_pos,
+ bool update_popup,
+ bool notify_text_changed) {
const ui::Range range(caret_pos, caret_pos);
SetTextAndSelectedRange(text, range);
}
@@ -532,8 +540,7 @@ void OmniboxViewViews::OnTemporaryTextMaybeChanged(
if (save_original_selection)
textfield_->GetSelectedRange(&saved_temporary_selection_);
- SetWindowTextAndCaretPos(display_text, display_text.length());
- TextChanged();
+ SetWindowTextAndCaretPos(display_text, display_text.length(), false, true);
}
bool OmniboxViewViews::OnInlineAutocompleteTextMaybeChanged(
« no previous file with comments | « chrome/browser/ui/views/omnibox/omnibox_view_views.h ('k') | chrome/browser/ui/views/omnibox/omnibox_view_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698