| Index: components/autofill/content/browser/autofill_driver_impl.cc
|
| diff --git a/components/autofill/content/browser/autofill_driver_impl.cc b/components/autofill/content/browser/autofill_driver_impl.cc
|
| index 9df913f0a283c422b8c11de290448341b17a01ee..937a8033ab92edc34519fb0ab6590c9df4760be5 100644
|
| --- a/components/autofill/content/browser/autofill_driver_impl.cc
|
| +++ b/components/autofill/content/browser/autofill_driver_impl.cc
|
| @@ -7,7 +7,11 @@
|
| #include "components/autofill/core/browser/autofill_external_delegate.h"
|
| #include "components/autofill/core/browser/autofill_manager.h"
|
| #include "components/autofill/core/browser/autofill_manager_delegate.h"
|
| +#include "components/autofill/core/common/autofill_messages.h"
|
| +#include "content/public/browser/navigation_details.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "content/public/common/frame_navigate_params.h"
|
| +#include "ipc/ipc_message_macros.h"
|
|
|
| namespace autofill {
|
|
|
| @@ -69,15 +73,65 @@ content::WebContents* AutofillDriverImpl::GetWebContents() {
|
| }
|
|
|
| bool AutofillDriverImpl::OnMessageReceived(const IPC::Message& message) {
|
| - // TODO(blundell): Move IPC handling into this class.
|
| - return autofill_manager_.OnMessageReceived(message);
|
| + bool handled = true;
|
| + IPC_BEGIN_MESSAGE_MAP(AutofillDriverImpl, message)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_FormsSeen, &autofill_manager_,
|
| + AutofillManager::OnFormsSeen)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_FormSubmitted, &autofill_manager_,
|
| + AutofillManager::OnFormSubmitted)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_TextFieldDidChange, &autofill_manager_,
|
| + AutofillManager::OnTextFieldDidChange)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_QueryFormFieldAutofill,
|
| + &autofill_manager_,
|
| + AutofillManager::OnQueryFormFieldAutofill)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowAutofillDialog, &autofill_manager_,
|
| + AutofillManager::OnShowAutofillDialog)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_FillAutofillFormData,
|
| + &autofill_manager_,
|
| + AutofillManager::OnFillAutofillFormData)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_DidPreviewAutofillFormData,
|
| + &autofill_manager_,
|
| + AutofillManager::OnDidPreviewAutofillFormData)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_DidFillAutofillFormData,
|
| + &autofill_manager_,
|
| + AutofillManager::OnDidFillAutofillFormData)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_DidShowAutofillSuggestions,
|
| + &autofill_manager_,
|
| + AutofillManager::OnDidShowAutofillSuggestions)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_DidEndTextFieldEditing,
|
| + &autofill_manager_,
|
| + AutofillManager::OnDidEndTextFieldEditing)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_HideAutofillUi, &autofill_manager_,
|
| + AutofillManager::OnHideAutofillUi)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_AddPasswordFormMapping,
|
| + &autofill_manager_,
|
| + AutofillManager::OnAddPasswordFormMapping)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowPasswordSuggestions,
|
| + &autofill_manager_,
|
| + AutofillManager::OnShowPasswordSuggestions)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_SetDataList, &autofill_manager_,
|
| + AutofillManager::OnSetDataList)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_RequestAutocomplete,
|
| + &autofill_manager_,
|
| + AutofillManager::OnRequestAutocomplete)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ClickFailed, &autofill_manager_,
|
| + AutofillManager::OnClickFailed)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_MaybeShowAutocheckoutBubble,
|
| + &autofill_manager_,
|
| + AutofillManager::OnMaybeShowAutocheckoutBubble)
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_RemoveAutocompleteEntry,
|
| + &autofill_manager_,
|
| + AutofillManager::RemoveAutocompleteEntry)
|
| + IPC_MESSAGE_UNHANDLED(handled = false)
|
| + IPC_END_MESSAGE_MAP()
|
| + return handled;
|
| }
|
|
|
| void AutofillDriverImpl::DidNavigateMainFrame(
|
| const content::LoadCommittedDetails& details,
|
| const content::FrameNavigateParams& params) {
|
| - // TODO(blundell): Move the logic of this method into this class.
|
| - autofill_manager_.DidNavigateMainFrame(details, params);
|
| + if (details.is_navigation_to_different_page())
|
| + autofill_manager_.Reset();
|
| }
|
|
|
| void AutofillDriverImpl::SetAutofillExternalDelegate(
|
|
|