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

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

Issue 58003005: Modify Entity Suggestion support and Add Profile Suggest support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed classifications from server Created 7 years 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
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/autocomplete/autocomplete_controller.h" 5 #include "chrome/browser/autocomplete/autocomplete_controller.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 // This type indicates a native chrome suggestion. 50 // This type indicates a native chrome suggestion.
51 *type = 69; 51 *type = 69;
52 // Default value, indicating no subtype. 52 // Default value, indicating no subtype.
53 *subtype = base::string16::npos; 53 *subtype = base::string16::npos;
54 54
55 switch (match) { 55 switch (match) {
56 case AutocompleteMatchType::SEARCH_SUGGEST: { 56 case AutocompleteMatchType::SEARCH_SUGGEST: {
57 *type = 0; 57 *type = 0;
58 return; 58 return;
59 } 59 }
60 case AutocompleteMatchType::SEARCH_SUGGEST_ENTITY: {
61 *subtype = 46;
62 return;
63 }
64 case AutocompleteMatchType::SEARCH_SUGGEST_INFINITE: {
65 *subtype = 33;
66 return;
67 }
68 case AutocompleteMatchType::SEARCH_SUGGEST_PERSONALIZED: {
69 *subtype = 35;
70 return;
71 }
72 case AutocompleteMatchType::SEARCH_SUGGEST_PROFILE: {
73 *subtype = 44;
74 return;
75 }
60 case AutocompleteMatchType::NAVSUGGEST: { 76 case AutocompleteMatchType::NAVSUGGEST: {
61 *type = 5; 77 *type = 5;
62 return; 78 return;
63 } 79 }
64 case AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED: { 80 case AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED: {
65 *subtype = 57; 81 *subtype = 57;
66 return; 82 return;
67 } 83 }
68 case AutocompleteMatchType::URL_WHAT_YOU_TYPED: { 84 case AutocompleteMatchType::URL_WHAT_YOU_TYPED: {
69 *subtype = 58; 85 *subtype = 58;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 136
121 // Returns whether the autocompletion is trivial enough that we consider it 137 // Returns whether the autocompletion is trivial enough that we consider it
122 // an autocompletion for which the omnibox autocompletion code did not add 138 // an autocompletion for which the omnibox autocompletion code did not add
123 // any value. 139 // any value.
124 bool IsTrivialAutocompletion(const AutocompleteMatch& match) { 140 bool IsTrivialAutocompletion(const AutocompleteMatch& match) {
125 return match.type == AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED || 141 return match.type == AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED ||
126 match.type == AutocompleteMatchType::URL_WHAT_YOU_TYPED || 142 match.type == AutocompleteMatchType::URL_WHAT_YOU_TYPED ||
127 match.type == AutocompleteMatchType::SEARCH_OTHER_ENGINE; 143 match.type == AutocompleteMatchType::SEARCH_OTHER_ENGINE;
128 } 144 }
129 145
146 // Whether this autocomplete match type supports custom descriptions.
147 bool AutocompleteMatchHasCustomDescription(const AutocompleteMatch& match) {
148 return match.type == AutocompleteMatchType::SEARCH_SUGGEST_ENTITY ||
149 match.type == AutocompleteMatchType::SEARCH_SUGGEST_PROFILE;
150 }
151
130 } // namespace 152 } // namespace
131 153
132 const int AutocompleteController::kNoItemSelected = -1; 154 const int AutocompleteController::kNoItemSelected = -1;
133 155
134 AutocompleteController::AutocompleteController( 156 AutocompleteController::AutocompleteController(
135 Profile* profile, 157 Profile* profile,
136 AutocompleteControllerDelegate* delegate, 158 AutocompleteControllerDelegate* delegate,
137 int provider_types) 159 int provider_types)
138 : delegate_(delegate), 160 : delegate_(delegate),
139 history_url_provider_(NULL), 161 history_url_provider_(NULL),
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 532
511 void AutocompleteController::UpdateKeywordDescriptions( 533 void AutocompleteController::UpdateKeywordDescriptions(
512 AutocompleteResult* result) { 534 AutocompleteResult* result) {
513 base::string16 last_keyword; 535 base::string16 last_keyword;
514 for (AutocompleteResult::iterator i(result->begin()); i != result->end(); 536 for (AutocompleteResult::iterator i(result->begin()); i != result->end();
515 ++i) { 537 ++i) {
516 if ((i->provider->type() == AutocompleteProvider::TYPE_KEYWORD && 538 if ((i->provider->type() == AutocompleteProvider::TYPE_KEYWORD &&
517 !i->keyword.empty()) || 539 !i->keyword.empty()) ||
518 (i->provider->type() == AutocompleteProvider::TYPE_SEARCH && 540 (i->provider->type() == AutocompleteProvider::TYPE_SEARCH &&
519 AutocompleteMatch::IsSearchType(i->type))) { 541 AutocompleteMatch::IsSearchType(i->type))) {
542 if (AutocompleteMatchHasCustomDescription(*i))
543 continue;
520 i->description.clear(); 544 i->description.clear();
521 i->description_class.clear(); 545 i->description_class.clear();
522 DCHECK(!i->keyword.empty()); 546 DCHECK(!i->keyword.empty());
523 if (i->keyword != last_keyword) { 547 if (i->keyword != last_keyword) {
524 const TemplateURL* template_url = i->GetTemplateURL(profile_, false); 548 const TemplateURL* template_url = i->GetTemplateURL(profile_, false);
525 if (template_url) { 549 if (template_url) {
526 // For extension keywords, just make the description the extension 550 // For extension keywords, just make the description the extension
527 // name -- don't assume that the normal search keyword description is 551 // name -- don't assume that the normal search keyword description is
528 // applicable. 552 // applicable.
529 i->description = template_url->AdjustedShortNameForLocaleDirection(); 553 i->description = template_url->AdjustedShortNameForLocaleDirection();
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 // the disruptive effect of belated omnibox updates, updates that 657 // the disruptive effect of belated omnibox updates, updates that
634 // come after the user has had to time to read the whole dropdown 658 // come after the user has had to time to read the whole dropdown
635 // and doesn't expect it to change. 659 // and doesn't expect it to change.
636 const int kStopTimeMS = 1500; 660 const int kStopTimeMS = 1500;
637 stop_timer_.Start(FROM_HERE, 661 stop_timer_.Start(FROM_HERE,
638 base::TimeDelta::FromMilliseconds(kStopTimeMS), 662 base::TimeDelta::FromMilliseconds(kStopTimeMS),
639 base::Bind(&AutocompleteController::Stop, 663 base::Bind(&AutocompleteController::Stop,
640 base::Unretained(this), 664 base::Unretained(this),
641 false)); 665 false));
642 } 666 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/autocomplete/autocomplete_match.cc » ('j') | chrome/browser/autocomplete/search_provider.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698