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

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

Issue 353223002: Omnibox: Fix URL-What-You-Typed Allowed-To-Be-Default-Match Issues (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: polish Created 6 years, 5 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 #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 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 static base::string16 SanitizeString(const base::string16& text); 161 static base::string16 SanitizeString(const base::string16& text);
162 162
163 // Convenience function to check if |type| is a search (as opposed to a URL or 163 // Convenience function to check if |type| is a search (as opposed to a URL or
164 // an extension). 164 // an extension).
165 static bool IsSearchType(Type type); 165 static bool IsSearchType(Type type);
166 166
167 // Convenience function to check if |type| is a special search suggest type - 167 // Convenience function to check if |type| is a special search suggest type -
168 // like entity, personalized, profile or postfix. 168 // like entity, personalized, profile or postfix.
169 static bool IsSpecializedSearchType(Type type); 169 static bool IsSpecializedSearchType(Type type);
170 170
171 // Copies the destination_url with "www." stripped off to 171 // Returns |url| altered by stripping off "www.", converting https protocol
Peter Kasting 2014/06/30 23:02:58 Nit: https protocol to http -> "https" to "http"
Mark P 2014/06/30 23:27:36 Done.
172 // |stripped_destination_url| and also converts https protocol to 172 // to http, and stripping excess query parameters. These conversions are
173 // http. These two conversions are merely to allow comparisons to 173 // merely to allow comparisons to remove likely duplicates; these URLs are
174 // remove likely duplicates; these URLs are not used as actual 174 // not used as actual destination URLs. If |profile| is not NULL, it is
175 // destination URLs. This method is invoked internally by the 175 // used to get a template URL corresponding to this match. If the match's
176 // AutocompleteResult and does not normally need to be invoked. 176 // keyword is known, it can be passed in. Otherwise, it can be left empty
177 // If |profile| is not NULL, it is used to get a template URL corresponding 177 // and the template URL (if any) is determined from the |url|'s hostname.
178 // to this match. The template is used to strip off query args other than 178 // The template URL is used to strip off query args other than the search
179 // the search terms themselves that would otherwise prevent from proper 179 // terms themselves that would otherwise prevent from proper deduping.
180 // deduping. 180 static GURL GURLToStrippedGURL(const GURL& url,
181 Profile* profile,
Peter Kasting 2014/06/30 23:02:58 Pass a TemplateURLService* here instead (see https
Mark P 2014/06/30 23:27:36 I will wait for that to land and then make the cor
182 const base::string16& keyword);
183
184 // Computes the stripped destination URL (via GURLToStrippedGURL()) and
185 // stores the result in |stripped_destination_url|.
181 void ComputeStrippedDestinationURL(Profile* profile); 186 void ComputeStrippedDestinationURL(Profile* profile);
182 187
183 // Gets data relevant to whether there should be any special keyword-related 188 // Gets data relevant to whether there should be any special keyword-related
184 // UI shown for this match. If this match represents a selected keyword, i.e. 189 // UI shown for this match. If this match represents a selected keyword, i.e.
185 // the UI should be "in keyword mode", |keyword| will be set to the keyword 190 // the UI should be "in keyword mode", |keyword| will be set to the keyword
186 // and |is_keyword_hint| will be set to false. If this match has a non-NULL 191 // and |is_keyword_hint| will be set to false. If this match has a non-NULL
187 // |associated_keyword|, i.e. we should show a "Press [tab] to search ___" 192 // |associated_keyword|, i.e. we should show a "Press [tab] to search ___"
188 // hint and allow the user to toggle into keyword mode, |keyword| will be set 193 // hint and allow the user to toggle into keyword mode, |keyword| will be set
189 // to the associated keyword and |is_keyword_hint| will be set to true. Note 194 // to the associated keyword and |is_keyword_hint| will be set to true. Note
190 // that only one of these states can be in effect at once. In all other 195 // that only one of these states can be in effect at once. In all other
(...skipping 16 matching lines...) Expand all
207 212
208 // Returns the TemplateURL associated with this match. This may be NULL if 213 // Returns the TemplateURL associated with this match. This may be NULL if
209 // the match has no keyword OR if the keyword no longer corresponds to a valid 214 // the match has no keyword OR if the keyword no longer corresponds to a valid
210 // TemplateURL. See comments on |keyword| below. 215 // TemplateURL. See comments on |keyword| below.
211 // If |allow_fallback_to_destination_host| is true and the keyword does 216 // If |allow_fallback_to_destination_host| is true and the keyword does
212 // not map to a valid TemplateURL, we'll then check for a TemplateURL that 217 // not map to a valid TemplateURL, we'll then check for a TemplateURL that
213 // corresponds to the destination_url's hostname. 218 // corresponds to the destination_url's hostname.
214 TemplateURL* GetTemplateURL(Profile* profile, 219 TemplateURL* GetTemplateURL(Profile* profile,
215 bool allow_fallback_to_destination_host) const; 220 bool allow_fallback_to_destination_host) const;
216 221
222 // A static version GetTemplateURL() that takes the match's keyword and
223 // match's hostname as parameters. In short, returns the TemplateURL
224 // associated with |keyword| if it exists; otherwise returns the TemplateURL
225 // associated with |host| if it exists.
226 static TemplateURL* GetTemplateURLWithKeyword(
Peter Kasting 2014/06/30 23:02:58 Nit: Put this with the other static functions.
Mark P 2014/06/30 23:27:36 Done.
227 Profile* profile,
228 const base::string16& keyword,
229 const std::string& host);
230
217 // Adds optional information to the |additional_info| dictionary. 231 // Adds optional information to the |additional_info| dictionary.
218 void RecordAdditionalInfo(const std::string& property, 232 void RecordAdditionalInfo(const std::string& property,
219 const std::string& value); 233 const std::string& value);
220 void RecordAdditionalInfo(const std::string& property, int value); 234 void RecordAdditionalInfo(const std::string& property, int value);
221 void RecordAdditionalInfo(const std::string& property, 235 void RecordAdditionalInfo(const std::string& property,
222 const base::Time& value); 236 const base::Time& value);
223 237
224 // Returns the value recorded for |property| in the |additional_info| 238 // Returns the value recorded for |property| in the |additional_info|
225 // dictionary. Returns the empty string if no such value exists. 239 // dictionary. Returns the empty string if no such value exists.
226 std::string GetAdditionalInfo(const std::string& property) const; 240 std::string GetAdditionalInfo(const std::string& property) const;
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 const base::string16& text, 378 const base::string16& text,
365 const ACMatchClassifications& classifications) const; 379 const ACMatchClassifications& classifications) const;
366 #endif 380 #endif
367 }; 381 };
368 382
369 typedef AutocompleteMatch::ACMatchClassification ACMatchClassification; 383 typedef AutocompleteMatch::ACMatchClassification ACMatchClassification;
370 typedef std::vector<ACMatchClassification> ACMatchClassifications; 384 typedef std::vector<ACMatchClassification> ACMatchClassifications;
371 typedef std::vector<AutocompleteMatch> ACMatches; 385 typedef std::vector<AutocompleteMatch> ACMatches;
372 386
373 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_ 387 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_MATCH_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/autocomplete/autocomplete_match.cc » ('j') | chrome/browser/autocomplete/autocomplete_match.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698