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 8fa7680d7f94902a2ea0e8ac70a98e2d061bb512..4e5c465bb14bf76124bfdff79ac2139f92fc3a5f 100644 |
--- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc |
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc |
@@ -900,14 +900,17 @@ void OmniboxEditModel::ClearKeyword(const base::string16& visible_text) { |
autocomplete_controller()->Stop(false); |
omnibox_controller_->ClearPopupKeywordMode(); |
- const base::string16 window_text(keyword_ + visible_text); |
+ // Add a space after the keyword to allow the user to continue typing without |
+ // re-enabling keyword mode (http://crbug.com/393371) |
Peter Kasting
2014/08/22 00:41:13
Nit: Don't refer to bugs in code comments. Provid
|
+ const base::string16 window_text(keyword_ + base::ASCIIToUTF16(" ") + |
Peter Kasting
2014/08/22 00:41:12
Nit: Break after initial '(' instead; consider usi
|
+ visible_text); |
Peter Kasting
2014/08/22 00:41:12
Nit: Continuations of previous lines are indented
|
// Only reset the result if the edit text has changed since the |
// keyword was accepted, or if the popup is closed. |
if (just_deleted_text_ || !visible_text.empty() || |
!(popup_model() && popup_model()->IsOpen())) { |
view_->OnBeforePossibleChange(); |
- view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), |
+ view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length() + 1, |
false, false); |
keyword_.clear(); |
is_keyword_hint_ = false; |
@@ -917,7 +920,7 @@ void OmniboxEditModel::ClearKeyword(const base::string16& visible_text) { |
// longer. |
} else { |
is_keyword_hint_ = true; |
- view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), |
+ view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length() + 1, |
false, true); |
} |