Chromium Code Reviews| Index: chrome/browser/autofill/autofill_manager.cc |
| diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc |
| index 571e05f3f09cfb1485277aabbed70caa556b2b9d..811afe15ddfd3d6d545a674c973a367fd07a1d76 100644 |
| --- a/chrome/browser/autofill/autofill_manager.cc |
| +++ b/chrome/browser/autofill/autofill_manager.cc |
| @@ -57,6 +57,7 @@ |
| #include "webkit/forms/form_data.h" |
| #include "webkit/forms/form_data_predictions.h" |
| #include "webkit/forms/form_field.h" |
| +#include "webkit/forms/password_form_dom_manager.h" |
| using base::TimeTicks; |
| using content::BrowserThread; |
| @@ -295,6 +296,10 @@ void AutofillManager::DidNavigateMainFrame( |
| Reset(); |
| } |
| +bool AutofillManager::HasExternalDelegate() { |
| + return external_delegate_ != NULL; |
| +} |
| + |
| bool AutofillManager::OnMessageReceived(const IPC::Message& message) { |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(AutofillManager, message) |
| @@ -318,6 +323,8 @@ bool AutofillManager::OnMessageReceived(const IPC::Message& message) { |
| OnDidEndTextFieldEditing) |
| IPC_MESSAGE_HANDLER(AutofillHostMsg_HideAutofillPopup, |
| OnHideAutofillPopup) |
| + IPC_MESSAGE_HANDLER(AutofillHostMsg_AddPasswordFormMapping, |
| + OnAddPasswordFormMapping) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| @@ -691,6 +698,14 @@ void AutofillManager::OnHideAutofillPopup() { |
| external_delegate_->HideAutofillPopup(); |
| } |
| +void AutofillManager::OnAddPasswordFormMapping( |
| + const webkit::forms::FormField& form, |
| + const webkit::forms::PasswordFormFillData fill_data) { |
|
Ilya Sherman
2012/03/12 23:46:13
nit: This should be pass-by-reference.
csharp
2012/03/13 18:31:14
Done.
|
| + if (external_delegate_) |
| + external_delegate_->AddPasswordFormMapping(form, fill_data); |
| +} |
| + |
| + |
| void AutofillManager::OnLoadedServerPredictions( |
| const std::string& response_xml) { |
| // Parse and store the server predictions. |
| @@ -799,6 +814,9 @@ void AutofillManager::Reset() { |
| user_did_edit_autofilled_field_ = false; |
| forms_loaded_timestamp_ = TimeTicks(); |
| initial_interaction_timestamp_ = TimeTicks(); |
| + |
| + if (external_delegate_) |
| + external_delegate_->Reset(); |
| } |
| AutofillManager::AutofillManager(TabContentsWrapper* tab_contents, |