Chromium Code Reviews| Index: components/password_manager/core/browser/password_autofill_manager.cc |
| diff --git a/components/password_manager/core/browser/password_autofill_manager.cc b/components/password_manager/core/browser/password_autofill_manager.cc |
| index e306b4df2e24d4f97883b6ac82ac187b7b4ea0d1..1469ededed3df038471a96ad8897fe2204891541 100644 |
| --- a/components/password_manager/core/browser/password_autofill_manager.cc |
| +++ b/components/password_manager/core/browser/password_autofill_manager.cc |
| @@ -26,7 +26,7 @@ PasswordAutofillManager::PasswordAutofillManager( |
| PasswordAutofillManager::~PasswordAutofillManager() { |
| } |
| -bool PasswordAutofillManager::AcceptSuggestion( |
| +bool PasswordAutofillManager::FillSuggestion( |
| const autofill::FormFieldData& field, |
| const base::string16& username) { |
| autofill::PasswordFormFillData fill_data; |
| @@ -34,7 +34,21 @@ bool PasswordAutofillManager::AcceptSuggestion( |
| if (FindLoginInfo(field, &fill_data) && |
| GetPasswordForUsername(username, fill_data, &password)) { |
| PasswordManagerDriver* driver = password_manager_client_->GetDriver(); |
| - driver->AcceptPasswordAutofillSuggestion(username, password); |
| + driver->FillSuggestion(username, password); |
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| +bool PasswordAutofillManager::PreviewSuggestion( |
| + const autofill::FormFieldData& field, |
| + const base::string16& username) { |
| + autofill::PasswordFormFillData fill_data; |
| + base::string16 password; |
| + if (FindLoginInfo(field, &fill_data) && |
| + GetPasswordForUsername(username, fill_data, &password)) { |
| + PasswordManagerDriver* driver = password_manager_client_->GetDriver(); |
| + driver->PreviewSuggestion(username, password); |
| return true; |
| } |
| return false; |
| @@ -84,10 +98,16 @@ void PasswordAutofillManager::Reset() { |
| login_to_password_info_.clear(); |
| } |
| -bool PasswordAutofillManager::AcceptSuggestionForTest( |
| +bool PasswordAutofillManager::FillSuggestionForTest( |
| + const autofill::FormFieldData& field, |
| + const base::string16& username) { |
| + return FillSuggestion(field, username); |
| +} |
| + |
| +bool PasswordAutofillManager::PreviewSuggestionForTest( |
| const autofill::FormFieldData& field, |
| const base::string16& username) { |
| - return AcceptSuggestion(field, username); |
| + return PreviewSuggestion(field, username); |
| } |
| void PasswordAutofillManager::OnPopupShown() { |
| @@ -98,26 +118,26 @@ void PasswordAutofillManager::OnPopupHidden() { |
| void PasswordAutofillManager::DidSelectSuggestion(const base::string16& value, |
| int identifier) { |
| - // This is called to preview an autofill suggestion, but we don't currently |
| - // do that for password forms (crbug.com/63421). If it is ever implemented, |
| - // ClearPreviewedForm() must also be implemented(). |
| + ClearPreviewedForm(); |
| + bool success = PreviewSuggestion(form_field_, value); |
| + DCHECK(success); |
| } |
| void PasswordAutofillManager::DidAcceptSuggestion(const base::string16& value, |
| int identifier) { |
| - if (!AcceptSuggestion(form_field_, value)) |
| - NOTREACHED(); |
| + bool success = FillSuggestion(form_field_, value); |
| + DCHECK(success); |
| autofill_manager_delegate_->HideAutofillPopup(); |
| } |
| void PasswordAutofillManager::RemoveSuggestion(const base::string16& value, |
| int identifier) { |
| - NOTREACHED(); |
| + DCHECK(false); |
|
Ilya Sherman
2014/05/15 21:36:09
nit: This one is clearer as a NOTREACHED(). Just
ziran.sun
2014/05/16 09:18:13
Done.
|
| } |
| void PasswordAutofillManager::ClearPreviewedForm() { |
| - // There is currently no preview for password autofill (crbug.com/63421). |
| - // This function needs an implemention if preview is ever implemented. |
| + PasswordManagerDriver* driver = password_manager_client_->GetDriver(); |
| + driver->ClearPreviewedForm(); |
| } |
| //////////////////////////////////////////////////////////////////////////////// |