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_