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

Side by Side Diff: chrome/browser/ui/views/omnibox/omnibox_view_views.cc

Issue 6731036: Enabled pressing TAB to cycle through the Omnibox results. (Closed) Base URL: http://src.chromium.org/svn/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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" 5 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h"
6 6
7 #include "base/property_bag.h" 7 #include "base/property_bag.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 if (model_->popup_model()->IsOpen()) 257 if (model_->popup_model()->IsOpen())
258 model_->popup_model()->TryDeletingCurrentItem(); 258 model_->popup_model()->TryDeletingCurrentItem();
259 } else if (!handled && event.key_code() == ui::VKEY_UP) { 259 } else if (!handled && event.key_code() == ui::VKEY_UP) {
260 model_->OnUpOrDownKeyPressed(-1); 260 model_->OnUpOrDownKeyPressed(-1);
261 handled = true; 261 handled = true;
262 } else if (!handled && event.key_code() == ui::VKEY_DOWN) { 262 } else if (!handled && event.key_code() == ui::VKEY_DOWN) {
263 model_->OnUpOrDownKeyPressed(1); 263 model_->OnUpOrDownKeyPressed(1);
264 handled = true; 264 handled = true;
265 } else if (!handled && 265 } else if (!handled &&
266 event.key_code() == ui::VKEY_TAB && 266 event.key_code() == ui::VKEY_TAB &&
267 !event.IsShiftDown() &&
268 !event.IsControlDown()) { 267 !event.IsControlDown()) {
269 if (model_->is_keyword_hint()) { 268 if (model_->is_keyword_hint() && !event.IsShiftDown()) {
270 handled = model_->AcceptKeyword(); 269 handled = model_->AcceptKeyword();
270 } else if (model_->popup_model()->IsOpen()) {
271 if (event.IsShiftDown() &&
272 model_->popup_model()->selected_line_state() ==
273 AutocompletePopupModel::KEYWORD) {
274 model_->ClearKeyword(GetText());
275 } else {
276 model_->OnUpOrDownKeyPressed(event.IsShiftDown() ? -1 : 1);
277 }
278 handled = true;
271 } else { 279 } else {
272 string16::size_type start = 0; 280 string16::size_type start = 0;
273 string16::size_type end = 0; 281 string16::size_type end = 0;
274 size_t length = GetTextLength(); 282 size_t length = GetTextLength();
275 GetSelectionBounds(&start, &end); 283 GetSelectionBounds(&start, &end);
276 if (start != end || start < length) { 284 if (start != end || start < length) {
277 OnBeforePossibleChange(); 285 OnBeforePossibleChange();
278 textfield_->SelectRange(ui::Range(length, length)); 286 textfield_->SelectRange(ui::Range(length, length));
279 OnAfterPossibleChange(); 287 OnAfterPossibleChange();
280 handled = true; 288 handled = true;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 } 462 }
455 463
456 void OmniboxViewViews::SetUserText(const string16& text) { 464 void OmniboxViewViews::SetUserText(const string16& text) {
457 SetUserText(text, text, true); 465 SetUserText(text, text, true);
458 } 466 }
459 467
460 void OmniboxViewViews::SetUserText(const string16& text, 468 void OmniboxViewViews::SetUserText(const string16& text,
461 const string16& display_text, 469 const string16& display_text,
462 bool update_popup) { 470 bool update_popup) {
463 model_->SetUserText(text); 471 model_->SetUserText(text);
464 SetWindowTextAndCaretPos(display_text, display_text.length()); 472 SetWindowTextAndCaretPos(display_text, display_text.length(), update_popup,
465 if (update_popup) 473 true);
466 UpdatePopup();
467 TextChanged();
468 } 474 }
469 475
470 void OmniboxViewViews::SetWindowTextAndCaretPos(const string16& text, 476 void OmniboxViewViews::SetWindowTextAndCaretPos(const string16& text,
471 size_t caret_pos) { 477 size_t caret_pos,
478 bool update_popup,
479 bool notify_text_changed) {
472 const ui::Range range(caret_pos, caret_pos); 480 const ui::Range range(caret_pos, caret_pos);
473 SetTextAndSelectedRange(text, range); 481 SetTextAndSelectedRange(text, range);
474 } 482 }
475 483
476 void OmniboxViewViews::SetForcedQuery() { 484 void OmniboxViewViews::SetForcedQuery() {
477 const string16 current_text(GetText()); 485 const string16 current_text(GetText());
478 const size_t start = current_text.find_first_not_of(kWhitespaceUTF16); 486 const size_t start = current_text.find_first_not_of(kWhitespaceUTF16);
479 if (start == string16::npos || (current_text[start] != '?')) 487 if (start == string16::npos || (current_text[start] != '?'))
480 SetUserText(ASCIIToUTF16("?")); 488 SetUserText(ASCIIToUTF16("?"));
481 else 489 else
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 // In views-implementation, the focus is on textfield rather than OmniboxView. 545 // In views-implementation, the focus is on textfield rather than OmniboxView.
538 textfield_->RequestFocus(); 546 textfield_->RequestFocus();
539 } 547 }
540 548
541 void OmniboxViewViews::OnTemporaryTextMaybeChanged( 549 void OmniboxViewViews::OnTemporaryTextMaybeChanged(
542 const string16& display_text, 550 const string16& display_text,
543 bool save_original_selection) { 551 bool save_original_selection) {
544 if (save_original_selection) 552 if (save_original_selection)
545 textfield_->GetSelectedRange(&saved_temporary_selection_); 553 textfield_->GetSelectedRange(&saved_temporary_selection_);
546 554
547 SetWindowTextAndCaretPos(display_text, display_text.length()); 555 SetWindowTextAndCaretPos(display_text, display_text.length(), false, true);
548 TextChanged();
549 } 556 }
550 557
551 bool OmniboxViewViews::OnInlineAutocompleteTextMaybeChanged( 558 bool OmniboxViewViews::OnInlineAutocompleteTextMaybeChanged(
552 const string16& display_text, 559 const string16& display_text,
553 size_t user_text_length) { 560 size_t user_text_length) {
554 if (display_text == GetText()) 561 if (display_text == GetText())
555 return false; 562 return false;
556 ui::Range range(display_text.size(), user_text_length); 563 ui::Range range(display_text.size(), user_text_length);
557 SetTextAndSelectedRange(display_text, range); 564 SetTextAndSelectedRange(display_text, range);
558 TextChanged(); 565 TextChanged();
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 OmniboxViewViews* omnibox_view = new OmniboxViewViews(controller, 860 OmniboxViewViews* omnibox_view = new OmniboxViewViews(controller,
854 toolbar_model, 861 toolbar_model,
855 profile, 862 profile,
856 command_updater, 863 command_updater,
857 popup_window_mode, 864 popup_window_mode,
858 location_bar); 865 location_bar);
859 omnibox_view->Init(); 866 omnibox_view->Init();
860 return omnibox_view; 867 return omnibox_view;
861 } 868 }
862 #endif 869 #endif
OLDNEW
« 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