| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_ | |
| 6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_ | |
| 7 | |
| 8 #include <deque> | |
| 9 #include <vector> | |
| 10 | |
| 11 #include "chrome/browser/history/history_types.h" | |
| 12 | |
| 13 namespace history { | |
| 14 | |
| 15 // Used for intermediate history result operations. | |
| 16 struct HistoryMatch { | |
| 17 // Required for STL, we don't use this directly. | |
| 18 HistoryMatch(); | |
| 19 | |
| 20 HistoryMatch(const URLRow& url_info, | |
| 21 size_t input_location, | |
| 22 bool match_in_scheme, | |
| 23 bool innermost_match); | |
| 24 | |
| 25 static bool EqualsGURL(const HistoryMatch& h, const GURL& url); | |
| 26 | |
| 27 // Returns true if url in this HistoryMatch is just a host | |
| 28 // (e.g. "http://www.google.com/") and not some other subpage | |
| 29 // (e.g. "http://www.google.com/foo.html"). | |
| 30 bool IsHostOnly() const; | |
| 31 | |
| 32 URLRow url_info; | |
| 33 | |
| 34 // The offset of the user's input within the URL. | |
| 35 size_t input_location; | |
| 36 | |
| 37 // Whether this is a match in the scheme. This determines whether we'll go | |
| 38 // ahead and show a scheme on the URL even if the user didn't type one. | |
| 39 // If our best match was in the scheme, not showing the scheme is both | |
| 40 // confusing and, for inline autocomplete of the fill_into_edit, dangerous. | |
| 41 // (If the user types "h" and we match "http://foo/", we need to inline | |
| 42 // autocomplete that, not "foo/", which won't show anything at all, and | |
| 43 // will mislead the user into thinking the What You Typed match is what's | |
| 44 // selected.) | |
| 45 bool match_in_scheme; | |
| 46 | |
| 47 // A match after any scheme/"www.", if the user input could match at both | |
| 48 // locations. If the user types "w", an innermost match ("website.com") is | |
| 49 // better than a non-innermost match ("www.google.com"). If the user types | |
| 50 // "x", no scheme in our prefix list (or "www.") begins with x, so all | |
| 51 // matches are, vacuously, "innermost matches". | |
| 52 bool innermost_match; | |
| 53 }; | |
| 54 typedef std::deque<HistoryMatch> HistoryMatches; | |
| 55 | |
| 56 } // namespace history | |
| 57 | |
| 58 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_ | |
| OLD | NEW |