| 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 d0bae5305788e3e45bbbde9bc3f5872194ba7f4f..095822cb32c9a9e884a0f55bd845026818be2dfa 100644
|
| --- a/components/autofill/content/browser/autofill_driver_impl.cc
|
| +++ b/components/autofill/content/browser/autofill_driver_impl.cc
|
| @@ -56,9 +56,10 @@ AutofillDriverImpl::AutofillDriverImpl(
|
| const std::string& app_locale,
|
| AutofillManager::AutofillDownloadManagerState enable_download_manager)
|
| : content::WebContentsObserver(web_contents),
|
| - autofill_manager_(this, delegate, app_locale, enable_download_manager) {
|
| + autofill_manager_(new AutofillManager(
|
| + this, delegate, app_locale, enable_download_manager)) {
|
| SetAutofillExternalDelegate(scoped_ptr<AutofillExternalDelegate>(
|
| - new AutofillExternalDelegate(web_contents, &autofill_manager_)));
|
| + new AutofillExternalDelegate(web_contents, autofill_manager_.get())));
|
| }
|
|
|
| AutofillDriverImpl::~AutofillDriverImpl() {}
|
| @@ -70,52 +71,54 @@ content::WebContents* AutofillDriverImpl::GetWebContents() {
|
| bool AutofillDriverImpl::OnMessageReceived(const IPC::Message& message) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(AutofillDriverImpl, message)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_FormsSeen, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_FormsSeen, autofill_manager_.get(),
|
| AutofillManager::OnFormsSeen)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_FormSubmitted, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_FormSubmitted, autofill_manager_.get(),
|
| AutofillManager::OnFormSubmitted)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_TextFieldDidChange, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_TextFieldDidChange,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnTextFieldDidChange)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_QueryFormFieldAutofill,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnQueryFormFieldAutofill)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowAutofillDialog, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowAutofillDialog,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnShowAutofillDialog)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_FillAutofillFormData,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnFillAutofillFormData)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_DidPreviewAutofillFormData,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnDidPreviewAutofillFormData)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_DidFillAutofillFormData,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnDidFillAutofillFormData)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_DidShowAutofillSuggestions,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnDidShowAutofillSuggestions)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_DidEndTextFieldEditing,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnDidEndTextFieldEditing)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_HideAutofillUi, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_HideAutofillUi, autofill_manager_.get(),
|
| AutofillManager::OnHideAutofillUi)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_AddPasswordFormMapping,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnAddPasswordFormMapping)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_ShowPasswordSuggestions,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnShowPasswordSuggestions)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_SetDataList, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_SetDataList, autofill_manager_.get(),
|
| AutofillManager::OnSetDataList)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_RequestAutocomplete,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnRequestAutocomplete)
|
| - IPC_MESSAGE_FORWARD(AutofillHostMsg_ClickFailed, &autofill_manager_,
|
| + IPC_MESSAGE_FORWARD(AutofillHostMsg_ClickFailed, autofill_manager_.get(),
|
| AutofillManager::OnClickFailed)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_MaybeShowAutocheckoutBubble,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::OnMaybeShowAutocheckoutBubble)
|
| IPC_MESSAGE_FORWARD(AutofillHostMsg_RemoveAutocompleteEntry,
|
| - &autofill_manager_,
|
| + autofill_manager_.get(),
|
| AutofillManager::RemoveAutocompleteEntry)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| @@ -126,13 +129,19 @@ void AutofillDriverImpl::DidNavigateMainFrame(
|
| const content::LoadCommittedDetails& details,
|
| const content::FrameNavigateParams& params) {
|
| if (details.is_navigation_to_different_page())
|
| - autofill_manager_.Reset();
|
| + autofill_manager_->Reset();
|
| }
|
|
|
| void AutofillDriverImpl::SetAutofillExternalDelegate(
|
| scoped_ptr<AutofillExternalDelegate> delegate) {
|
| - autofill_external_delegate_.reset(delegate.release());
|
| - autofill_manager_.SetExternalDelegate(autofill_external_delegate_.get());
|
| + autofill_external_delegate_ = delegate.Pass();
|
| + autofill_manager_->SetExternalDelegate(autofill_external_delegate_.get());
|
| +}
|
| +
|
| +void AutofillDriverImpl::SetAutofillManager(
|
| + scoped_ptr<AutofillManager> manager) {
|
| + autofill_manager_ = manager.Pass();
|
| + autofill_manager_->SetExternalDelegate(autofill_external_delegate_.get());
|
| }
|
|
|
| } // namespace autofill
|
|
|