Home | History | Annotate | Download | only in common
      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