| 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 d24f566f93c703589f322a80ab82854420ed36f2..0cde24dd1836e60d1df0f74ef2072c58edbfb5bb 100644
|
| --- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc
|
| +++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
|
| @@ -440,10 +440,12 @@ void OmniboxEditModel::StartAutocomplete(
|
| }
|
|
|
| void OmniboxEditModel::StopAutocomplete() {
|
| - if (popup_->IsOpen() && !in_revert_) {
|
| - InstantController* instant = controller_->GetInstant();
|
| - if (instant && !instant->commit_on_pointer_release())
|
| - instant->Hide();
|
| + if (popup_->IsOpen()) {
|
| + if (!in_revert_) {
|
| + InstantController* instant = controller_->GetInstant();
|
| + if (instant && !instant->commit_on_pointer_release())
|
| + instant->Hide();
|
| + }
|
| }
|
|
|
| autocomplete_controller_->Stop(true);
|
| @@ -531,9 +533,10 @@ void OmniboxEditModel::OpenMatch(const AutocompleteMatch& match,
|
| base::TimeTicks::Now() - time_user_first_modified_omnibox_,
|
| 0, // inline autocomplete length; possibly set later
|
| result());
|
| - DCHECK(user_input_in_progress_) << "We didn't get here through the "
|
| - "expected series of calls. time_user_first_modified_omnibox_ is "
|
| - "not set correctly and other things may be wrong.";
|
| + DCHECK(user_input_in_progress_ || match.provider->name() == "ZeroSuggest")
|
| + << "We didn't get here through the expected series of calls. "
|
| + << "time_user_first_modified_omnibox_ is not set correctly and other "
|
| + << "things may be wrong.";
|
| if (index != OmniboxPopupModel::kNoMatch)
|
| log.selected_index = index;
|
| else if (!has_temporary_text_)
|
| @@ -696,6 +699,15 @@ void OmniboxEditModel::OnSetFocus(bool control_down) {
|
| if (instant)
|
| instant->OnAutocompleteGotFocus();
|
|
|
| + // TODO(jered): We may want to merge this into Start() and just call that
|
| + // here rather than having a special entry point for zero-suggest.
|
| + // Note that we avoid PermanentURL() here because it's not guaranteed to give
|
| + // us the actual underlying current URL, e.g. if we're on the NTP and the
|
| + // |permanent_text_| is empty.
|
| + autocomplete_controller_->StartZeroSuggest(
|
| + controller_->GetTabContents()->web_contents()->GetURL(),
|
| + user_text_);
|
| +
|
| NotifySearchTabHelper();
|
| }
|
|
|
| @@ -705,6 +717,8 @@ void OmniboxEditModel::OnWillKillFocus(gfx::NativeView view_gaining_focus) {
|
| if (InstantController* instant = controller_->GetInstant())
|
| instant->OnAutocompleteLostFocus(view_gaining_focus);
|
|
|
| + // TODO(jered): Rip this out along with StartZeroSuggest.
|
| + autocomplete_controller_->StopZeroSuggest();
|
| NotifySearchTabHelper();
|
| }
|
|
|
|
|