Index: chrome/browser/ui/omnibox/omnibox_edit_model.cc |
diff --git a/chrome/browser/ui/omnibox/omnibox_edit_model.cc b/chrome/browser/ui/omnibox/omnibox_edit_model.cc |
index 02eb0f1102c50386d8ad588f590a9878967eb2f1..afaec2c621991d24645d3fcd10cd7f828ae2e7d1 100644 |
--- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc |
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc |
@@ -70,11 +70,13 @@ using predictors::AutocompleteActionPredictorFactory; |
OmniboxEditModel::State::State(bool user_input_in_progress, |
const string16& user_text, |
const string16& keyword, |
- bool is_keyword_hint) |
+ bool is_keyword_hint, |
+ bool is_focus_visible) |
: user_input_in_progress(user_input_in_progress), |
user_text(user_text), |
keyword(keyword), |
- is_keyword_hint(is_keyword_hint) { |
+ is_keyword_hint(is_keyword_hint), |
+ is_focus_visible(is_focus_visible) { |
} |
OmniboxEditModel::State::~State() { |
@@ -128,10 +130,12 @@ const OmniboxEditModel::State OmniboxEditModel::GetStateForTabSwitch() { |
} |
} |
- return State(user_input_in_progress_, user_text_, keyword_, is_keyword_hint_); |
+ return State(user_input_in_progress_, user_text_, keyword_, is_keyword_hint_, |
+ is_focus_visible_); |
} |
void OmniboxEditModel::RestoreState(const State& state) { |
+ is_focus_visible_ = state.is_focus_visible; |
// Restore any user editing. |
if (state.user_input_in_progress) { |
// NOTE: Be sure and set keyword-related state BEFORE invoking |
@@ -745,6 +749,7 @@ void OmniboxEditModel::OnWillKillFocus(gfx::NativeView view_gaining_focus) { |
void OmniboxEditModel::OnKillFocus() { |
has_focus_ = false; |
+ is_focus_visible_ = true; |
control_key_state_ = UP; |
paste_state_ = NONE; |
} |