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.
11 // The visual state that applies to the current interaction.
13 // The default state means anything but the following states.
16 // On the NTP page and the NTP is ready to be displayed.
19 // The Omnibox is modified in some way, either on the NTP or not.
20 MODE_SEARCH_SUGGESTIONS
,
22 // On a search results page.
26 // The kind of page from which the user initiated the current search.
28 // The user is searching from some random page.
31 // The user is searching from the NTP.
34 // The user is searching from a search results page.
38 SearchMode() : mode(MODE_DEFAULT
), origin(ORIGIN_DEFAULT
) {
41 SearchMode(Type in_mode
, 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
;
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
;
90 #endif // CHROME_COMMON_SEARCH_TYPES_H_