Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5010)

Unified Diff: chrome/browser/autofill/autofill_external_delegate.cc

Issue 11636040: AutofillPopupController clarifications + simplifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: new workstation Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autofill/autofill_external_delegate.cc
diff --git a/chrome/browser/autofill/autofill_external_delegate.cc b/chrome/browser/autofill/autofill_external_delegate.cc
index c58ff06f4634fa71c58143a13a12b06eb253064e..ad27460300dd29f0cae7f94174e0ec6bf42faa61 100644
--- a/chrome/browser/autofill/autofill_external_delegate.cc
+++ b/chrome/browser/autofill/autofill_external_delegate.cc
@@ -68,14 +68,6 @@ AutofillExternalDelegate::~AutofillExternalDelegate() {
controller_->Hide();
}
-void AutofillExternalDelegate::SelectAutofillSuggestion(int unique_id) {
- ClearPreviewedForm();
-
- // Only preview the data if it is a profile.
- if (unique_id > 0)
- FillAutofillFormData(unique_id, true);
-}
-
void AutofillExternalDelegate::OnQuery(int query_id,
const FormData& form,
const FormFieldData& field,
@@ -205,60 +197,56 @@ void AutofillExternalDelegate::SetCurrentDataListValues(
data_list_unique_ids_ = data_list_unique_ids;
}
-void AutofillExternalDelegate::RemoveAutocompleteEntry(const string16& value) {
- if (web_contents_) {
- autofill_manager_->RemoveAutocompleteEntry(
- autofill_query_field_.name, value);
- }
-}
-
-void AutofillExternalDelegate::RemoveAutofillProfileOrCreditCard(
- int unique_id) {
- autofill_manager_->RemoveAutofillProfileOrCreditCard(unique_id);
-}
-
-void AutofillExternalDelegate::DidEndTextFieldEditing() {
- HideAutofillPopup();
+void AutofillExternalDelegate::DidSelectSuggestion(int identifier) {
+ ClearPreviewedForm();
- has_shown_autofill_popup_for_current_edit_ = false;
+ // Only preview the data if it is a profile.
+ if (identifier > 0)
+ FillAutofillFormData(identifier, true);
}
-bool AutofillExternalDelegate::DidAcceptAutofillSuggestion(
- const string16& value,
- int unique_id,
- unsigned index) {
- // If the selected element is a warning we don't want to do anything.
- if (unique_id == WebAutofillClient::MenuItemIDWarningMessage)
- return false;
-
+void AutofillExternalDelegate::DidAcceptSuggestion(const string16& value,
+ int identifier) {
RenderViewHost* host = web_contents_->GetRenderViewHost();
- if (unique_id == WebAutofillClient::MenuItemIDAutofillOptions) {
+ if (identifier == WebAutofillClient::MenuItemIDAutofillOptions) {
// User selected 'Autofill Options'.
autofill_manager_->OnShowAutofillDialog();
- } else if (unique_id == WebAutofillClient::MenuItemIDClearForm) {
+ } else if (identifier == WebAutofillClient::MenuItemIDClearForm) {
// User selected 'Clear form'.
host->Send(new AutofillMsg_ClearForm(host->GetRoutingID()));
- } else if (unique_id == WebAutofillClient::MenuItemIDPasswordEntry &&
+ } else if (identifier == WebAutofillClient::MenuItemIDPasswordEntry &&
password_autofill_manager_.DidAcceptAutofillSuggestion(
autofill_query_field_, value)) {
// DidAcceptAutofillSuggestion has already handled the work to fill in
// the page as required.
- } else if (unique_id == WebAutofillClient::MenuItemIDDataListEntry) {
+ } else if (identifier == WebAutofillClient::MenuItemIDDataListEntry) {
host->Send(new AutofillMsg_AcceptDataListSuggestion(host->GetRoutingID(),
value));
- } else if (unique_id == WebAutofillClient::MenuItemIDAutocompleteEntry) {
+ } else if (identifier == WebAutofillClient::MenuItemIDAutocompleteEntry) {
// User selected an Autocomplete, so we fill directly.
- host->Send(new AutofillMsg_SetNodeText(
- host->GetRoutingID(),
- value));
+ host->Send(new AutofillMsg_SetNodeText(host->GetRoutingID(), value));
} else {
- FillAutofillFormData(unique_id, false);
+ FillAutofillFormData(identifier, false);
}
HideAutofillPopup();
+}
- return true;
+void AutofillExternalDelegate::RemoveSuggestion(const string16& value,
+ int identifier) {
+ if (identifier > 0) {
+ autofill_manager_->RemoveAutofillProfileOrCreditCard(identifier);
+ } else if (web_contents_) {
+ autofill_manager_->RemoveAutocompleteEntry(autofill_query_field_.name,
+ value);
+ }
+}
+
+void AutofillExternalDelegate::DidEndTextFieldEditing() {
+ HideAutofillPopup();
+
+ has_shown_autofill_popup_for_current_edit_ = false;
}
void AutofillExternalDelegate::ClearPreviewedForm() {
@@ -299,6 +287,10 @@ void AutofillExternalDelegate::AddPasswordFormMapping(
void AutofillExternalDelegate::FillAutofillFormData(int unique_id,
bool is_preview) {
+ // If the selected element is a warning we don't want to do anything.
+ if (unique_id == WebAutofillClient::MenuItemIDWarningMessage)
+ return;
+
RenderViewHost* host = web_contents_->GetRenderViewHost();
if (is_preview) {

Powered by Google App Engine
This is Rietveld 408576698