| Index: chrome/browser/instant/instant_controller.cc
|
| diff --git a/chrome/browser/instant/instant_controller.cc b/chrome/browser/instant/instant_controller.cc
|
| index 087a4526ffcb7de4c0e114e44c527c22a24c7cb5..7c8880b463866b88e49db040a9b0efa54134dc33 100644
|
| --- a/chrome/browser/instant/instant_controller.cc
|
| +++ b/chrome/browser/instant/instant_controller.cc
|
| @@ -559,8 +559,12 @@ bool InstantController::CommitIfPossible(InstantCommitType type) {
|
| // last_omnibox_text_. Clicking on the overlay commits what is currently
|
| // showing, so add in the gray text in that case.
|
| std::string query(UTF16ToUTF8(last_omnibox_text_));
|
| - if (type != INSTANT_COMMIT_PRESSED_ENTER)
|
| + if (type != INSTANT_COMMIT_PRESSED_ENTER) {
|
| query += UTF16ToUTF8(last_suggestion_.text);
|
| + // Update |last_omnibox_text_| so that the controller commits the proper
|
| + // query if the user focuses the omnibox and presses Enter.
|
| + last_omnibox_text_ += last_suggestion_.text;
|
| + }
|
| entry->SetVirtualURL(GURL(
|
| url + "#q=" +
|
| net::EscapeQueryParamValue(query, true)));
|
| @@ -760,11 +764,14 @@ void InstantController::SetSuggestions(
|
|
|
| if (instant_tab_ && search_mode_.is_search_results() &&
|
| suggestion.behavior == INSTANT_COMPLETE_REPLACE) {
|
| + // Update |last_omnibox_text_| so that the controller commits the proper
|
| + // query if the user focuses the omnibox and presses Enter.
|
| + last_omnibox_text_ = suggestion.text;
|
| + last_suggestion_ = InstantSuggestion();
|
| + last_match_was_search_ = suggestion.type == INSTANT_SUGGESTION_SEARCH;
|
| // This means a committed page in state search called setValue(). We should
|
| // update the omnibox to reflect what the search page says.
|
| browser_->SetInstantSuggestion(suggestion);
|
| - // Don't update last_omnibox_text_ or last_suggestion_ since the user is not
|
| - // currently editing text in the omnibox.
|
| return;
|
| }
|
|
|
|
|