1// Copyright 2013 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_COMMON_AUTOCOMPLETE_MATCH_TYPE_H_
6#define CHROME_COMMON_AUTOCOMPLETE_MATCH_TYPE_H_
7
8#include <string>
9
10struct AutocompleteMatchType {
11  // Type of AutocompleteMatch. Typedef'ed in autocomplete_match.h. Defined here
12  // to pass the type details back and forth between the browser and renderer.
13  //
14  // These values are stored in ShortcutsDatabase and cannot be renumbered.
15  enum Type {
16    URL_WHAT_YOU_TYPED    = 0,  // The input as a URL.
17    HISTORY_URL           = 1,  // A past page whose URL contains the input.
18    HISTORY_TITLE         = 2,  // A past page whose title contains the input.
19    HISTORY_BODY          = 3,  // A past page whose body contains the input.
20    HISTORY_KEYWORD       = 4,  // A past page whose keyword contains the
21                                // input.
22    NAVSUGGEST            = 5,  // A suggested URL.
23    SEARCH_WHAT_YOU_TYPED = 6,  // The input as a search query (with the
24                                // default engine).
25    SEARCH_HISTORY        = 7,  // A past search (with the default engine)
26                                // containing the input.
27    SEARCH_SUGGEST        = 8,  // A suggested search (with the default engine)
28                                // query that doesn't fall into one of the more
29                                // specific suggestion categories below.
30    SEARCH_SUGGEST_ENTITY = 9,  // A suggested search for an entity.
31    SEARCH_SUGGEST_INFINITE     = 10,  // A suggested search to complete the
32                                       // tail of the query.
33    SEARCH_SUGGEST_PERSONALIZED = 11,  // A personalized suggested search.
34    SEARCH_SUGGEST_PROFILE      = 12,  // A personalized suggested search for a
35                                       // Google+ profile.
36    SEARCH_OTHER_ENGINE         = 13,  // A search with a non-default engine.
37    EXTENSION_APP               = 14,  // An Extension App with a title/url that
38                                       // contains the input.
39    CONTACT_DEPRECATED          = 15,  // One of the user's contacts
40                                       // (deprecated).
41    BOOKMARK_TITLE              = 16,  // A bookmark whose title contains the
42                                       // input.
43    NAVSUGGEST_PERSONALIZED     = 17,  // A personalized suggestion URL.
44    SEARCH_SUGGEST_ANSWER       = 18,  // A short result for a suggested search.
45    NUM_TYPES,
46  };
47
48  // Converts |type| to a string representation. Used in logging.
49  static std::string ToString(AutocompleteMatchType::Type type);
50};
51
52#endif  // CHROME_COMMON_AUTOCOMPLETE_MATCH_TYPE_H_
53