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

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

Issue 10909130: autocomplete: Add AutocompleteProvider::Type enum. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add !! for windows Created 8 years, 3 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/autocomplete/autocomplete_provider.h" 5 #include "chrome/browser/autocomplete/autocomplete_provider.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/autocomplete/autocomplete_match.h" 9 #include "chrome/browser/autocomplete/autocomplete_match.h"
10 #include "chrome/browser/autocomplete/autocomplete_provider_listener.h" 10 #include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
11 #include "chrome/browser/bookmarks/bookmark_model.h" 11 #include "chrome/browser/bookmarks/bookmark_model.h"
12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
13 #include "chrome/browser/prefs/pref_service.h" 13 #include "chrome/browser/prefs/pref_service.h"
14 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "content/public/common/url_constants.h" 16 #include "content/public/common/url_constants.h"
17 #include "googleurl/src/gurl.h" 17 #include "googleurl/src/gurl.h"
18 #include "googleurl/src/url_util.h" 18 #include "googleurl/src/url_util.h"
19 #include "net/base/net_util.h" 19 #include "net/base/net_util.h"
20 20
21 // static 21 // static
22 const size_t AutocompleteProvider::kMaxMatches = 3; 22 const size_t AutocompleteProvider::kMaxMatches = 3;
23 23
24 AutocompleteProvider::AutocompleteProvider( 24 AutocompleteProvider::AutocompleteProvider(
25 AutocompleteProviderListener* listener, 25 AutocompleteProviderListener* listener,
26 Profile* profile, 26 Profile* profile,
27 const char* name) 27 Type type)
28 : profile_(profile), 28 : profile_(profile),
29 listener_(listener), 29 listener_(listener),
30 done_(true), 30 done_(true),
31 name_(name) { 31 type_(type) {
32 }
33
34 // static
35 const char* AutocompleteProvider::TypeToString(Type type) {
36 switch (type) {
37 case TYPE_BUILTIN:
38 return "Builtin";
39 case TYPE_EXTENSION_APP:
40 return "ExtensionApp";
41 case TYPE_HISTORY_CONTENTS:
42 return "HistoryContents";
43 case TYPE_HISTORY_QUICK:
44 return "HistoryQuick";
45 case TYPE_HISTORY_URL:
46 return "HistoryURL";
47 case TYPE_KEYWORD:
48 return "Keyword";
49 case TYPE_SEARCH:
50 return "Search";
51 case TYPE_SHORTCUTS:
52 return "Shortcuts";
53 case TYPE_ZERO_SUGGEST:
54 return "ZeroSuggest";
55 default:
56 NOTREACHED() << "Unhandled AutocompleteProvider::Type " << type;
57 return "Unknown";
58 }
32 } 59 }
33 60
34 void AutocompleteProvider::Stop(bool clear_cached_results) { 61 void AutocompleteProvider::Stop(bool clear_cached_results) {
35 done_ = true; 62 done_ = true;
36 } 63 }
37 64
65 const char* AutocompleteProvider::GetName() const {
66 return TypeToString(type_);
67 }
68
38 metrics::OmniboxEventProto_ProviderType AutocompleteProvider:: 69 metrics::OmniboxEventProto_ProviderType AutocompleteProvider::
39 AsOmniboxEventProviderType() const { 70 AsOmniboxEventProviderType() const {
40 if (name_ == "HistoryURL") 71 switch (type_) {
41 return metrics::OmniboxEventProto::HISTORY_URL; 72 case TYPE_BUILTIN:
42 if (name_ == "HistoryContents") 73 return metrics::OmniboxEventProto::BUILTIN;
43 return metrics::OmniboxEventProto::HISTORY_CONTENTS; 74 case TYPE_EXTENSION_APP:
44 if (name_ == "HistoryQuick") 75 return metrics::OmniboxEventProto::EXTENSION_APPS;
45 return metrics::OmniboxEventProto::HISTORY_QUICK; 76 case TYPE_HISTORY_CONTENTS:
46 if (name_ == "Search") 77 return metrics::OmniboxEventProto::HISTORY_CONTENTS;
47 return metrics::OmniboxEventProto::SEARCH; 78 case TYPE_HISTORY_QUICK:
48 if (name_ == "Keyword") 79 return metrics::OmniboxEventProto::HISTORY_QUICK;
49 return metrics::OmniboxEventProto::KEYWORD; 80 case TYPE_HISTORY_URL:
50 if (name_ == "Builtin") 81 return metrics::OmniboxEventProto::HISTORY_URL;
51 return metrics::OmniboxEventProto::BUILTIN; 82 case TYPE_KEYWORD:
52 if (name_ == "Shortcuts") 83 return metrics::OmniboxEventProto::KEYWORD;
53 return metrics::OmniboxEventProto::SHORTCUTS; 84 case TYPE_SEARCH:
54 if (name_ == "ExtensionApps") 85 return metrics::OmniboxEventProto::SEARCH;
55 return metrics::OmniboxEventProto::EXTENSION_APPS; 86 case TYPE_SHORTCUTS:
56 87 return metrics::OmniboxEventProto::SHORTCUTS;
57 NOTREACHED(); 88 case TYPE_ZERO_SUGGEST:
58 return metrics::OmniboxEventProto::UNKNOWN_PROVIDER; 89 // TODO: Add to OmniboxEventProto::ProviderType.
90 default:
91 NOTREACHED() << "Unhandled AutocompleteProvider::Type " << type_;
92 return metrics::OmniboxEventProto::UNKNOWN_PROVIDER;
93 }
59 } 94 }
60 95
61 void AutocompleteProvider::DeleteMatch(const AutocompleteMatch& match) { 96 void AutocompleteProvider::DeleteMatch(const AutocompleteMatch& match) {
62 DLOG(WARNING) << "The AutocompleteProvider '" << name_ 97 DLOG(WARNING) << "The AutocompleteProvider '" << GetName()
63 << "' has not implemented DeleteMatch."; 98 << "' has not implemented DeleteMatch.";
64 } 99 }
65 100
66 void AutocompleteProvider::AddProviderInfo(ProvidersInfo* provider_info) const { 101 void AutocompleteProvider::AddProviderInfo(ProvidersInfo* provider_info) const {
67 } 102 }
68 103
69 string16 AutocompleteProvider::StringForURLDisplay(const GURL& url, 104 string16 AutocompleteProvider::StringForURLDisplay(const GURL& url,
70 bool check_accept_lang, 105 bool check_accept_lang,
71 bool trim_http) const { 106 bool trim_http) const {
72 std::string languages = (check_accept_lang && profile_) ? 107 std::string languages = (check_accept_lang && profile_) ?
(...skipping 24 matching lines...) Expand all
97 if (!profile_) 132 if (!profile_)
98 return; 133 return;
99 134
100 BookmarkModel* bookmark_model = BookmarkModelFactory::GetForProfile(profile_); 135 BookmarkModel* bookmark_model = BookmarkModelFactory::GetForProfile(profile_);
101 if (!bookmark_model || !bookmark_model->IsLoaded()) 136 if (!bookmark_model || !bookmark_model->IsLoaded())
102 return; 137 return;
103 138
104 for (ACMatches::iterator i(matches_.begin()); i != matches_.end(); ++i) 139 for (ACMatches::iterator i(matches_.begin()); i != matches_.end(); ++i)
105 i->starred = bookmark_model->IsBookmarked(i->destination_url); 140 i->starred = bookmark_model->IsBookmarked(i->destination_url);
106 } 141 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_provider.h ('k') | chrome/browser/autocomplete/autocomplete_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698