// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_OMNIBOX_COMMON_OMNIBOX_FOCUS_STATE_H_ #define COMPONENTS_OMNIBOX_COMMON_OMNIBOX_FOCUS_STATE_H_ // Omnibox focus state. enum OmniboxFocusState { // Not focused. OMNIBOX_FOCUS_NONE, // Visibly focused. OMNIBOX_FOCUS_VISIBLE, // Invisibly focused, i.e. focused with a hidden caret. // // Omnibox will not look focused visibly but any user key strokes will go to // the omnibox. OMNIBOX_FOCUS_INVISIBLE, OMNIBOX_FOCUS_STATE_LAST = OMNIBOX_FOCUS_INVISIBLE }; // Reasons why the Omnibox focus state could change. enum OmniboxFocusChangeReason { // Includes any explicit changes to focus. (e.g. user clicking to change // focus, user tabbing to change focus, any explicit calls to SetFocus, // etc.) OMNIBOX_FOCUS_CHANGE_EXPLICIT, // Focus changed to restore state from a tab the user switched to. OMNIBOX_FOCUS_CHANGE_TAB_SWITCH, // Focus changed because user started typing. This only happens when focus // state is INVISIBLE (and this results in a change to VISIBLE). OMNIBOX_FOCUS_CHANGE_TYPING, OMNIBOX_FOCUS_CHANGE_REASON_LAST = OMNIBOX_FOCUS_CHANGE_TYPING }; #endif // COMPONENTS_OMNIBOX_COMMON_OMNIBOX_FOCUS_STATE_H_