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_ 39