| Index: chrome/browser/ui/search/instant_controller.cc
|
| diff --git a/chrome/browser/ui/search/instant_controller.cc b/chrome/browser/ui/search/instant_controller.cc
|
| index 02ba4d3c6a367e313050d415e01b35bf01b8838f..f219dabdbb6120dad5700af08a0edbd405ad11eb 100644
|
| --- a/chrome/browser/ui/search/instant_controller.cc
|
| +++ b/chrome/browser/ui/search/instant_controller.cc
|
| @@ -923,25 +923,15 @@ void InstantController::OmniboxFocusChanged(
|
|
|
| OmniboxFocusState old_focus_state = omnibox_focus_state_;
|
| omnibox_focus_state_ = state;
|
| + reason_ = reason;
|
| if (!extended_enabled_ && !instant_enabled_)
|
| return;
|
|
|
| - // Tell the page if the key capture mode changed unless the focus state
|
| - // changed because of TYPING. This is because in that case, the browser hasn't
|
| - // really stopped capturing key strokes.
|
| - //
|
| - // (More practically, if we don't do this check, the page would receive
|
| - // onkeycapturechange before the corresponding onchange, and the page would
|
| - // have no way of telling whether the keycapturechange happened because of
|
| - // some actual user action or just because they started typing.)
|
| - if (extended_enabled_ && GetOverlayContents() &&
|
| - reason != OMNIBOX_FOCUS_CHANGE_TYPING) {
|
| - const bool is_key_capture_enabled =
|
| - omnibox_focus_state_ == OMNIBOX_FOCUS_INVISIBLE;
|
| + if (extended_enabled_) {
|
| if (overlay_)
|
| - overlay_->KeyCaptureChanged(is_key_capture_enabled);
|
| + overlay_->FocusChanged(omnibox_focus_state_, reason);
|
| if (instant_tab_)
|
| - instant_tab_->KeyCaptureChanged(is_key_capture_enabled);
|
| + instant_tab_->FocusChanged(omnibox_focus_state_, reason);
|
| }
|
|
|
| if (state == OMNIBOX_FOCUS_VISIBLE && old_focus_state == OMNIBOX_FOCUS_NONE) {
|
| @@ -1161,8 +1151,8 @@ void InstantController::InstantPageRenderViewCreated(
|
| // Ensure the searchbox API has the correct initial state.
|
| if (IsContentsFrom(overlay(), contents)) {
|
| overlay_->SetDisplayInstantResults(instant_enabled_);
|
| - overlay_->KeyCaptureChanged(
|
| - omnibox_focus_state_ == OMNIBOX_FOCUS_INVISIBLE);
|
| + overlay_->FocusChanged(omnibox_focus_state_,
|
| + OMNIBOX_FOCUS_CHANGE_EXPLICIT);
|
| overlay_->SetOmniboxBounds(omnibox_bounds_);
|
| overlay_->InitializeFonts();
|
| } else if (IsContentsFrom(ntp(), contents)) {
|
| @@ -1541,8 +1531,8 @@ void InstantController::UpdateInfoForInstantTab() {
|
| instant_tab_->SetOmniboxBounds(omnibox_bounds_);
|
| instant_tab_->InitializeFonts();
|
| StartListeningToMostVisitedChanges();
|
| - instant_tab_->KeyCaptureChanged(
|
| - omnibox_focus_state_ == OMNIBOX_FOCUS_INVISIBLE);
|
| + instant_tab_->FocusChanged(omnibox_focus_state_,
|
| + OMNIBOX_FOCUS_CHANGE_EXPLICIT);
|
| }
|
| }
|
|
|
|
|