OLD | NEW |
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 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ |
6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ | 6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 // A single result provider for the autocomplete system. Given user input, the | 136 // A single result provider for the autocomplete system. Given user input, the |
137 // provider decides what (if any) matches to return, their relevance, and their | 137 // provider decides what (if any) matches to return, their relevance, and their |
138 // classifications. | 138 // classifications. |
139 class AutocompleteProvider | 139 class AutocompleteProvider |
140 : public base::RefCountedThreadSafe<AutocompleteProvider> { | 140 : public base::RefCountedThreadSafe<AutocompleteProvider> { |
141 public: | 141 public: |
142 // Different AutocompleteProvider implementations. | 142 // Different AutocompleteProvider implementations. |
143 enum Type { | 143 enum Type { |
144 TYPE_BOOKMARK = 1 << 0, | 144 TYPE_BOOKMARK = 1 << 0, |
145 TYPE_BUILTIN = 1 << 1, | 145 TYPE_BUILTIN = 1 << 1, |
146 TYPE_CONTACT = 1 << 2, | 146 TYPE_EXTENSION_APP = 1 << 2, |
147 TYPE_EXTENSION_APP = 1 << 3, | 147 TYPE_HISTORY_QUICK = 1 << 3, |
148 TYPE_HISTORY_QUICK = 1 << 4, | 148 TYPE_HISTORY_URL = 1 << 4, |
149 TYPE_HISTORY_URL = 1 << 5, | 149 TYPE_KEYWORD = 1 << 5, |
150 TYPE_KEYWORD = 1 << 6, | 150 TYPE_SEARCH = 1 << 6, |
151 TYPE_SEARCH = 1 << 7, | 151 TYPE_SHORTCUTS = 1 << 7, |
152 TYPE_SHORTCUTS = 1 << 8, | 152 TYPE_ZERO_SUGGEST = 1 << 8, |
153 TYPE_ZERO_SUGGEST = 1 << 9, | |
154 }; | 153 }; |
155 | 154 |
156 AutocompleteProvider(AutocompleteProviderListener* listener, | 155 AutocompleteProvider(AutocompleteProviderListener* listener, |
157 Profile* profile, | 156 Profile* profile, |
158 Type type); | 157 Type type); |
159 | 158 |
160 // Returns a string describing a particular AutocompleteProvider type. | 159 // Returns a string describing a particular AutocompleteProvider type. |
161 static const char* TypeToString(Type type); | 160 static const char* TypeToString(Type type); |
162 | 161 |
163 // Called to start an autocomplete query. The provider is responsible for | 162 // Called to start an autocomplete query. The provider is responsible for |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 | 276 |
278 Type type_; | 277 Type type_; |
279 | 278 |
280 private: | 279 private: |
281 DISALLOW_COPY_AND_ASSIGN(AutocompleteProvider); | 280 DISALLOW_COPY_AND_ASSIGN(AutocompleteProvider); |
282 }; | 281 }; |
283 | 282 |
284 typedef std::vector<AutocompleteProvider*> ACProviders; | 283 typedef std::vector<AutocompleteProvider*> ACProviders; |
285 | 284 |
286 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ | 285 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_H_ |
OLD | NEW |