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