- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / omnibox_focus_state.h
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_OMNIBOX_FOCUS_STATE_H_
6 #define CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_
7
8 // Omnibox focus state.
9 enum OmniboxFocusState {
10   // Not focused.
11   OMNIBOX_FOCUS_NONE,
12
13   // Visibly focused.
14   OMNIBOX_FOCUS_VISIBLE,
15
16   // Invisibly focused, i.e. focused with a hidden caret.
17   //
18   // Omnibox will not look focused visibly but any user key strokes will go to
19   // the omnibox.
20   OMNIBOX_FOCUS_INVISIBLE,
21 };
22
23 // Reasons why the Omnibox focus state could change.
24 enum OmniboxFocusChangeReason {
25   // Includes any explicit changes to focus. (e.g. user clicking to change
26   // focus, user tabbing to change focus, any explicit calls to SetFocus,
27   // etc.)
28   OMNIBOX_FOCUS_CHANGE_EXPLICIT,
29
30   // Focus changed to restore state from a tab the user switched to.
31   OMNIBOX_FOCUS_CHANGE_TAB_SWITCH,
32
33   // Focus changed because user started typing. This only happens when focus
34   // state is INVISIBLE (and this results in a change to VISIBLE).
35   OMNIBOX_FOCUS_CHANGE_TYPING,
36 };
37
38 #endif  // CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_