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

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

Issue 371283002: Componentize HistoryMatch (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
« no previous file with comments | « no previous file | chrome/browser/autocomplete/history_provider_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/autocomplete/history_provider_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698