Index: chrome/browser/autocomplete/autocomplete_edit.cc |
diff --git a/chrome/browser/autocomplete/autocomplete_edit.cc b/chrome/browser/autocomplete/autocomplete_edit.cc |
index 1ad993eeb638778287a9157989000b414948c009..13a6f158be7193871ef4e72f078e3decde952458 100644 |
--- a/chrome/browser/autocomplete/autocomplete_edit.cc |
+++ b/chrome/browser/autocomplete/autocomplete_edit.cc |
@@ -605,20 +605,29 @@ void AutocompleteEditModel::OnPopupDataChanged( |
return; |
} |
- // All cases that can result in |has_temporary_text_| being set should have |
- // been handled by the conditional above. |
- DCHECK(!has_temporary_text_); |
+ bool call_controller_onchanged = true; |
Peter Kasting
2011/01/24 23:25:52
Nit: Unnecessary blank line
James Su
2011/01/25 02:24:55
Done.
|
inline_autocomplete_text_ = text; |
if (view_->OnInlineAutocompleteTextMaybeChanged( |
DisplayTextFromUserText(user_text_ + inline_autocomplete_text_), |
DisplayTextFromUserText(user_text_).length())) |
- return; |
+ call_controller_onchanged = false; |
+ |
+ // |has_temporary_text_| is true here means we have been reverted to the |
Peter Kasting
2011/01/24 23:25:52
Nit: How about:
// If |has_temporary_text_| is
James Su
2011/01/25 02:24:55
Done.
|
+ // default match, so we need to ask view to revert as well. We need to do it |
+ // after updating the display text, to make sure the selection can be reverted |
+ // correctly. |
+ // This route can only be triggered when deleting the selected item in popup. |
+ if (has_temporary_text_) { |
+ has_temporary_text_ = false; |
Peter Kasting
2011/01/24 23:25:52
Let's refactor a little:
[private] void RevertTem
James Su
2011/01/25 02:24:55
It's actually not possible. In OnEscapeKeyPressed(
Peter Kasting
2011/01/25 02:36:20
In that case, let's refactor and make that call a
James Su
2011/01/25 02:51:51
Ok, I'll update it asap.
|
+ view_->OnRevertTemporaryText(); |
+ call_controller_onchanged = false; |
+ } |
- // All other code paths that return invoke OnChanged. We need to invoke |
- // OnChanged in case the destination url changed (as could happen when control |
- // is toggled). |
- controller_->OnChanged(); |
+ // We need to invoke OnChanged in case the destination url changed (as could |
+ // happen when control is toggled). |
+ if (call_controller_onchanged) |
+ controller_->OnChanged(); |
} |
bool AutocompleteEditModel::OnAfterPossibleChange( |