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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_match.h

Issue 6306011: Remove wstring from autocomplete. (Closed) Base URL: svn://chrome-svn/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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_MATCH_H_ 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_
6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_ 6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 #include <string> 10 #include <string>
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // Comparison functions for removing matches with duplicate destinations. 101 // Comparison functions for removing matches with duplicate destinations.
102 static bool DestinationSortFunc(const AutocompleteMatch& elem1, 102 static bool DestinationSortFunc(const AutocompleteMatch& elem1,
103 const AutocompleteMatch& elem2); 103 const AutocompleteMatch& elem2);
104 static bool DestinationsEqual(const AutocompleteMatch& elem1, 104 static bool DestinationsEqual(const AutocompleteMatch& elem1,
105 const AutocompleteMatch& elem2); 105 const AutocompleteMatch& elem2);
106 106
107 // Helper functions for classes creating matches: 107 // Helper functions for classes creating matches:
108 // Fills in the classifications for |text|, using |style| as the base style 108 // Fills in the classifications for |text|, using |style| as the base style
109 // and marking the first instance of |find_text| as a match. (This match 109 // and marking the first instance of |find_text| as a match. (This match
110 // will also not be dimmed, if |style| has DIM set.) 110 // will also not be dimmed, if |style| has DIM set.)
111 static void ClassifyMatchInString(const std::wstring& find_text, 111 static void ClassifyMatchInString(const string16& find_text,
112 const std::wstring& text, 112 const string16& text,
113 int style, 113 int style,
114 ACMatchClassifications* classifications); 114 ACMatchClassifications* classifications);
115 115
116 // Similar to ClassifyMatchInString(), but for cases where the range to mark 116 // Similar to ClassifyMatchInString(), but for cases where the range to mark
117 // as matching is already known (avoids calling find()). This can be helpful 117 // as matching is already known (avoids calling find()). This can be helpful
118 // when find() would be misleading (e.g. you want to mark the second match in 118 // when find() would be misleading (e.g. you want to mark the second match in
119 // a string instead of the first). 119 // a string instead of the first).
120 static void ClassifyLocationInString(size_t match_location, 120 static void ClassifyLocationInString(size_t match_location,
121 size_t match_length, 121 size_t match_length,
122 size_t overall_length, 122 size_t overall_length,
(...skipping 13 matching lines...) Expand all
136 // TODO(pkasting): http://b/1111299 This should be calculated algorithmically, 136 // TODO(pkasting): http://b/1111299 This should be calculated algorithmically,
137 // rather than being a fairly fixed value defined by the table above. 137 // rather than being a fairly fixed value defined by the table above.
138 int relevance; 138 int relevance;
139 139
140 // True if the user should be able to delete this match. 140 // True if the user should be able to delete this match.
141 bool deletable; 141 bool deletable;
142 142
143 // This string is loaded into the location bar when the item is selected 143 // This string is loaded into the location bar when the item is selected
144 // by pressing the arrow keys. This may be different than a URL, for example, 144 // by pressing the arrow keys. This may be different than a URL, for example,
145 // for search suggestions, this would just be the search terms. 145 // for search suggestions, this would just be the search terms.
146 std::wstring fill_into_edit; 146 string16 fill_into_edit;
147 147
148 // The position within fill_into_edit from which we'll display the inline 148 // The position within fill_into_edit from which we'll display the inline
149 // autocomplete string. This will be std::wstring::npos if this match should 149 // autocomplete string. This will be string16::npos if this match should
150 // not be inline autocompleted. 150 // not be inline autocompleted.
151 size_t inline_autocomplete_offset; 151 size_t inline_autocomplete_offset;
152 152
153 // The URL to actually load when the autocomplete item is selected. This URL 153 // The URL to actually load when the autocomplete item is selected. This URL
154 // should be canonical so we can compare URLs with strcmp to avoid dupes. 154 // should be canonical so we can compare URLs with strcmp to avoid dupes.
155 // It may be empty if there is no possible navigation. 155 // It may be empty if there is no possible navigation.
156 GURL destination_url; 156 GURL destination_url;
157 157
158 // The main text displayed in the address bar dropdown. 158 // The main text displayed in the address bar dropdown.
159 std::wstring contents; 159 string16 contents;
160 ACMatchClassifications contents_class; 160 ACMatchClassifications contents_class;
161 161
162 // Additional helper text for each entry, such as a title or description. 162 // Additional helper text for each entry, such as a title or description.
163 std::wstring description; 163 string16 description;
164 ACMatchClassifications description_class; 164 ACMatchClassifications description_class;
165 165
166 // The transition type to use when the user opens this match. By default 166 // The transition type to use when the user opens this match. By default
167 // this is TYPED. Providers whose matches do not look like URLs should set 167 // this is TYPED. Providers whose matches do not look like URLs should set
168 // it to GENERATED. 168 // it to GENERATED.
169 PageTransition::Type transition; 169 PageTransition::Type transition;
170 170
171 // True when this match is the "what you typed" match from the history 171 // True when this match is the "what you typed" match from the history
172 // system. 172 // system.
173 bool is_history_what_you_typed_match; 173 bool is_history_what_you_typed_match;
174 174
175 // Type of this match. 175 // Type of this match.
176 Type type; 176 Type type;
177 177
178 // If this match corresponds to a keyword, this is the TemplateURL the 178 // If this match corresponds to a keyword, this is the TemplateURL the
179 // keyword was obtained from. 179 // keyword was obtained from.
180 const TemplateURL* template_url; 180 const TemplateURL* template_url;
181 181
182 // True if the user has starred the destination URL. 182 // True if the user has starred the destination URL.
183 bool starred; 183 bool starred;
184 184
185 #ifndef NDEBUG 185 #ifndef NDEBUG
186 // Does a data integrity check on this match. 186 // Does a data integrity check on this match.
187 void Validate() const; 187 void Validate() const;
188 188
189 // Checks one text/classifications pair for valid values. 189 // Checks one text/classifications pair for valid values.
190 void ValidateClassifications( 190 void ValidateClassifications(
191 const std::wstring& text, 191 const string16& text,
192 const ACMatchClassifications& classifications) const; 192 const ACMatchClassifications& classifications) const;
193 #endif 193 #endif
194 }; 194 };
195 195
196 typedef AutocompleteMatch::ACMatchClassification ACMatchClassification; 196 typedef AutocompleteMatch::ACMatchClassification ACMatchClassification;
197 typedef std::vector<ACMatchClassification> ACMatchClassifications; 197 typedef std::vector<ACMatchClassification> ACMatchClassifications;
198 198
199 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_ 199 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698