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
,
22 OMNIBOX_FOCUS_STATE_LAST
= OMNIBOX_FOCUS_INVISIBLE
25 // Reasons why the Omnibox focus state could change.
26 enum OmniboxFocusChangeReason
{
27 // Includes any explicit changes to focus. (e.g. user clicking to change
28 // focus, user tabbing to change focus, any explicit calls to SetFocus,
30 OMNIBOX_FOCUS_CHANGE_EXPLICIT
,
32 // Focus changed to restore state from a tab the user switched to.
33 OMNIBOX_FOCUS_CHANGE_TAB_SWITCH
,
35 // Focus changed because user started typing. This only happens when focus
36 // state is INVISIBLE (and this results in a change to VISIBLE).
37 OMNIBOX_FOCUS_CHANGE_TYPING
,
39 OMNIBOX_FOCUS_CHANGE_REASON_LAST
= OMNIBOX_FOCUS_CHANGE_TYPING
42 #endif // CHROME_COMMON_OMNIBOX_FOCUS_STATE_H_