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.
5 #ifndef CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_
6 #define CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_
8 // Omnibox focus state.
9 enum OmniboxFocusState
{
14 OMNIBOX_FOCUS_VISIBLE
,
16 // Invisibly focused, i.e. focused with a hidden caret.
18 // Omnibox will not look focused visibly but any user key strokes will go to
20 OMNIBOX_FOCUS_INVISIBLE
,
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,
28 OMNIBOX_FOCUS_CHANGE_EXPLICIT
,
30 // Focus changed to restore state from a tab the user switched to.
31 OMNIBOX_FOCUS_CHANGE_TAB_SWITCH
,
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
,
38 #endif // CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_