| 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..cb73be7e027294842fd885f0f21129361c9a384a 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,10 @@ bool AutofillManager::OnMessageReceived(const IPC::Message& message) {
|
| OnDidEndTextFieldEditing)
|
| IPC_MESSAGE_HANDLER(AutofillHostMsg_HideAutofillPopup,
|
| OnHideAutofillPopup)
|
| + IPC_MESSAGE_HANDLER(AutofillHostMsg_AddPasswordFormMapping,
|
| + OnAddPasswordFormMapping)
|
| + IPC_MESSAGE_HANDLER(AutofillHostMsg_ShowPasswordSuggestions,
|
| + OnShowPasswordSuggestions)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
|
|
| @@ -691,6 +700,23 @@ void AutofillManager::OnHideAutofillPopup() {
|
| external_delegate_->HideAutofillPopup();
|
| }
|
|
|
| +void AutofillManager::OnAddPasswordFormMapping(
|
| + const webkit::forms::FormField& form,
|
| + const webkit::forms::PasswordFormFillData& fill_data) {
|
| + if (external_delegate_)
|
| + external_delegate_->AddPasswordFormMapping(form, fill_data);
|
| +}
|
| +
|
| +void AutofillManager::OnShowPasswordSuggestions(
|
| + const gfx::Rect& bounds,
|
| + const std::vector<string16>& suggestions) {
|
| + if (external_delegate_) {
|
| + external_delegate_->SetBounds(bounds);
|
| + external_delegate_->ShowPasswordSuggestions(suggestions);
|
| + }
|
| +}
|
| +
|
| +
|
| void AutofillManager::OnLoadedServerPredictions(
|
| const std::string& response_xml) {
|
| // Parse and store the server predictions.
|
| @@ -799,6 +825,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,
|
|
|