Componentize ShortcutsBackend
[chromium-blink-merge.git] / chrome / common / search_types.h
blob15cb8789caa4c82d789637d92a6187c4d9bc4d74
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_COMMON_SEARCH_TYPES_H_
6 #define CHROME_COMMON_SEARCH_TYPES_H_
8 // The Mode structure encodes the visual states encountered when interacting
9 // with the NTP and the Omnibox.
10 struct SearchMode {
11 // The visual state that applies to the current interaction.
12 enum Type {
13 // The default state means anything but the following states.
14 MODE_DEFAULT,
16 // On the NTP page and the NTP is ready to be displayed.
17 MODE_NTP,
19 // The Omnibox is modified in some way, either on the NTP or not.
20 MODE_SEARCH_SUGGESTIONS,
22 // On a search results page.
23 MODE_SEARCH_RESULTS,
26 // The kind of page from which the user initiated the current search.
27 enum Origin {
28 // The user is searching from some random page.
29 ORIGIN_DEFAULT = 0,
31 // The user is searching from the NTP.
32 ORIGIN_NTP,
34 // The user is searching from a search results page.
35 ORIGIN_SEARCH,
38 SearchMode() : mode(MODE_DEFAULT), origin(ORIGIN_DEFAULT) {
41 SearchMode(Type in_mode, Origin in_origin)
42 : mode(in_mode),
43 origin(in_origin) {
46 bool operator==(const SearchMode& rhs) const {
47 return mode == rhs.mode && origin == rhs.origin;
50 bool operator!=(const SearchMode& rhs) const {
51 return !(*this == rhs);
54 bool is_default() const {
55 return mode == MODE_DEFAULT;
58 bool is_ntp() const {
59 return mode == MODE_NTP;
62 bool is_search() const {
63 return mode == MODE_SEARCH_SUGGESTIONS || mode == MODE_SEARCH_RESULTS;
66 bool is_search_results() const {
67 return mode == MODE_SEARCH_RESULTS;
70 bool is_search_suggestions() const {
71 return mode == MODE_SEARCH_SUGGESTIONS;
74 bool is_origin_default() const {
75 return origin == ORIGIN_DEFAULT;
78 bool is_origin_search() const {
79 return origin == ORIGIN_SEARCH;
82 bool is_origin_ntp() const {
83 return origin == ORIGIN_NTP;
86 Type mode;
87 Origin origin;
90 #endif // CHROME_COMMON_SEARCH_TYPES_H_