| Index: components/omnibox/browser/omnibox_edit_model.h
|
| diff --git a/components/omnibox/browser/omnibox_edit_model.h b/components/omnibox/browser/omnibox_edit_model.h
|
| index de6ff02da4bedd70185ef080522c523a1a475c2d..be3d952728ed3e16112fad1cefa332f3b5befe9c 100644
|
| --- a/components/omnibox/browser/omnibox_edit_model.h
|
| +++ b/components/omnibox/browser/omnibox_edit_model.h
|
| @@ -37,11 +37,13 @@ class Rect;
|
|
|
| // Reasons why the Omnibox could change into keyword mode.
|
| // These numeric values are used in UMA logs; do not change them.
|
| -enum EnteredKeywordModeMethod {
|
| - ENTERED_KEYWORD_MODE_VIA_TAB = 0,
|
| - ENTERED_KEYWORD_MODE_VIA_SPACE_AT_END = 1,
|
| - ENTERED_KEYWORD_MODE_VIA_SPACE_IN_MIDDLE = 2,
|
| - ENTERED_KEYWORD_MODE_NUM_ITEMS
|
| +enum class KeywordModeEntryMethod {
|
| + TAB = 0,
|
| + SPACE_AT_END = 1,
|
| + SPACE_IN_MIDDLE = 2,
|
| + KEYBOARD_SHORTCUT = 3,
|
| + QUESTION_MARK = 4,
|
| + NUM_ITEMS,
|
| };
|
|
|
| class OmniboxEditModel {
|
| @@ -60,6 +62,7 @@ class OmniboxEditModel {
|
| const base::string16& gray_text,
|
| const base::string16& keyword,
|
| bool is_keyword_hint,
|
| + KeywordModeEntryMethod keyword_mode_entry_method,
|
| bool url_replacement_enabled,
|
| OmniboxFocusState focus_state,
|
| FocusSource focus_source,
|
| @@ -72,6 +75,7 @@ class OmniboxEditModel {
|
| const base::string16 gray_text;
|
| const base::string16 keyword;
|
| const bool is_keyword_hint;
|
| + KeywordModeEntryMethod keyword_mode_entry_method;
|
| bool url_replacement_enabled;
|
| OmniboxFocusState focus_state;
|
| FocusSource focus_source;
|
| @@ -237,10 +241,14 @@ class OmniboxEditModel {
|
| }
|
|
|
| // Accepts the current keyword hint as a keyword. It always returns true for
|
| - // caller convenience. |entered_method| indicates how the use entered
|
| - // keyword mode. This parameter is only used for metrics/logging; it's not
|
| - // used to change user-visible behavior.
|
| - bool AcceptKeyword(EnteredKeywordModeMethod entered_method);
|
| + // caller convenience. |entered_method| indicates how the user entered
|
| + // keyword mode.
|
| + bool AcceptKeyword(KeywordModeEntryMethod entry_method);
|
| +
|
| + // Sets the current keyword to that of the user's default search provider and
|
| + // updates the view so the user sees the keyword chip in the omnibox.
|
| + void EnterKeywordModeForDefaultSearchProvider(
|
| + KeywordModeEntryMethod entry_method);
|
|
|
| // Accepts the current temporary text as the user text.
|
| void AcceptTemporaryTextAsUserText();
|
| @@ -336,6 +344,7 @@ class OmniboxEditModel {
|
| size_t selection_end,
|
| bool selection_differs,
|
| bool text_differs,
|
| + bool keyword_differs,
|
| bool just_deleted_text,
|
| bool allow_keyword_ui_change);
|
|
|
| @@ -547,6 +556,11 @@ class OmniboxEditModel {
|
| // keyword_ to show a "Press <tab> to search" sort of hint.
|
| bool is_keyword_hint_;
|
|
|
| + // Indicates how the user entered keyword mode if the user is actually in
|
| + // keyword mode. Otherwise, the value of this variable is undefined. This
|
| + // is used to restore the user's search terms upon a call to ClearKeyword().
|
| + KeywordModeEntryMethod keyword_mode_entry_method_;
|
| +
|
| // This is needed to properly update the SearchModel state when the user
|
| // presses escape.
|
| bool in_revert_;
|
|
|