Index: chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
diff --git a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
index e7cc9dd6b46a241a090f50647f025f7c66854df6..d4d3d99b94cbce95d21d715b35e3a16b5fcbf678 100644 |
--- a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
+++ b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc |
@@ -446,10 +446,17 @@ void AutofillPopupControllerImpl::SetSelectedLine(int selected_line) { |
selected_line_ = selected_line; |
- if (selected_line_ != kNoSelection) |
- delegate_->DidSelectSuggestion(identifiers_[selected_line_]); |
- else |
+ if (selected_line_ != kNoSelection) { |
+ if ((identifiers_[selected_line_] == |
+ WebAutofillClient::MenuItemIDAutocompleteEntry) && |
+ (selected_line_ < static_cast<int>(names_.size()))) |
+ delegate_->DidSelectAutocompleteSuggestion(names_[selected_line_]); |
+ else |
+ delegate_->DidSelectSuggestion(identifiers_[selected_line_]); |
+ } else { |
delegate_->ClearPreviewedForm(); |
+ delegate_->ClearAutocompletePreviewedField(); |
+ } |
} |
void AutofillPopupControllerImpl::SelectNextLine() { |
@@ -520,6 +527,7 @@ bool AutofillPopupControllerImpl::RemoveSelectedLine() { |
if (HasSuggestions()) { |
delegate_->ClearPreviewedForm(); |
+ delegate_->ClearAutocompletePreviewedField(); |
UpdateBoundsAndRedrawPopup(); |
} else { |
Hide(); |