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, |