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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit.cc

Issue 6359002: Removes some code we no longer care about. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/autocomplete/autocomplete_edit.h" 5 #include "chrome/browser/autocomplete/autocomplete_edit.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 keyword_ui_state_ = allow_keyword_ui_change ? NORMAL : NO_KEYWORD; 690 keyword_ui_state_ = allow_keyword_ui_change ? NORMAL : NO_KEYWORD;
691 691
692 view_->UpdatePopup(); 692 view_->UpdatePopup();
693 return true; 693 return true;
694 } 694 }
695 695
696 void AutocompleteEditModel::PopupBoundsChangedTo(const gfx::Rect& bounds) { 696 void AutocompleteEditModel::PopupBoundsChangedTo(const gfx::Rect& bounds) {
697 controller_->OnPopupBoundsChanged(bounds); 697 controller_->OnPopupBoundsChanged(bounds);
698 } 698 }
699 699
700 void AutocompleteEditModel::ResultsUpdated() {
701 UpdateSuggestedSearchText();
702 }
703
704 // Return true if the suggestion type warrants a TCP/IP preconnection. 700 // Return true if the suggestion type warrants a TCP/IP preconnection.
705 // i.e., it is now highly likely that the user will select the related domain. 701 // i.e., it is now highly likely that the user will select the related domain.
706 static bool IsPreconnectable(AutocompleteMatch::Type type) { 702 static bool IsPreconnectable(AutocompleteMatch::Type type) {
707 UMA_HISTOGRAM_ENUMERATION("Autocomplete.MatchType", type, 703 UMA_HISTOGRAM_ENUMERATION("Autocomplete.MatchType", type,
708 AutocompleteMatch::NUM_TYPES); 704 AutocompleteMatch::NUM_TYPES);
709 switch (type) { 705 switch (type) {
710 // Matches using the user's default search engine. 706 // Matches using the user's default search engine.
711 case AutocompleteMatch::SEARCH_WHAT_YOU_TYPED: 707 case AutocompleteMatch::SEARCH_WHAT_YOU_TYPED:
712 case AutocompleteMatch::SEARCH_HISTORY: 708 case AutocompleteMatch::SEARCH_HISTORY:
713 case AutocompleteMatch::SEARCH_SUGGEST: 709 case AutocompleteMatch::SEARCH_SUGGEST:
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 GURL* url) const { 788 GURL* url) const {
793 GURL parsed_url; 789 GURL parsed_url;
794 const AutocompleteInput::Type type = AutocompleteInput::Parse( 790 const AutocompleteInput::Type type = AutocompleteInput::Parse(
795 UserTextFromDisplayText(text), std::wstring(), NULL, NULL, &parsed_url); 791 UserTextFromDisplayText(text), std::wstring(), NULL, NULL, &parsed_url);
796 if (type != AutocompleteInput::URL) 792 if (type != AutocompleteInput::URL)
797 return false; 793 return false;
798 794
799 *url = parsed_url; 795 *url = parsed_url;
800 return true; 796 return true;
801 } 797 }
802
803 // Returns true if suggested search text should be shown for the specified match
804 // type.
805 static bool ShouldShowSuggestSearchTextFor(AutocompleteMatch::Type type) {
806 // TODO: add support for other engines when in keyword mode.
807 return ((type == AutocompleteMatch::SEARCH_HISTORY) ||
808 (type == AutocompleteMatch::SEARCH_SUGGEST));
809 }
810
811 void AutocompleteEditModel::UpdateSuggestedSearchText() {
812 if (!InstantController::IsEnabled(profile_, InstantController::VERBATIM_TYPE))
813 return;
814
815 string16 suggested_text;
816 // The suggested text comes from the first search result.
817 if (popup_->IsOpen()) {
818 const AutocompleteResult& result = popup_->result();
819 if ((result.size() > 1) && (popup_->selected_line() == 0) &&
820 ((result.begin()->inline_autocomplete_offset == std::wstring::npos) ||
821 (result.begin()->inline_autocomplete_offset ==
822 result.begin()->fill_into_edit.size()))) {
823 for (AutocompleteResult::const_iterator i = result.begin() + 1;
824 i != result.end(); ++i) {
825 // TODO: add support for other engines when in keyword mode.
826 if (ShouldShowSuggestSearchTextFor(i->type) &&
827 i->inline_autocomplete_offset != std::wstring::npos) {
828 suggested_text = WideToUTF16(i->fill_into_edit.substr(
829 i->inline_autocomplete_offset));
830 break;
831 }
832 }
833 }
834 }
835 controller_->OnSetSuggestedSearchText(suggested_text);
836 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_edit.h ('k') | chrome/browser/autocomplete/autocomplete_edit_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698