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.
5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_
6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_
11 #include "chrome/browser/history/history_types.h"
15 // Used for intermediate history result operations.
17 // Required for STL, we don't use this directly.
20 HistoryMatch(const URLRow
& url_info
,
21 size_t input_location
,
23 bool innermost_match
);
25 static bool EqualsGURL(const HistoryMatch
& h
, const GURL
& url
);
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;
34 // The offset of the user's input within the URL.
35 size_t input_location
;
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
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".
54 // When sorting, all promoted matches should appear before all non-promoted
55 // matches, regardless of other properties of the match.
58 typedef std::deque
<HistoryMatch
> HistoryMatches
;
60 } // namespace history
62 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_PROVIDER_UTIL_H_