Index: components/autofill/content/browser/content_autofill_driver_factory.cc |
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc |
index eee03de0c2e720c95d3a41785380a5ce4dbd150f..e49ffd8e8b8bde60299ed2d60377e712acbef4c6 100644 |
--- a/components/autofill/content/browser/content_autofill_driver_factory.cc |
+++ b/components/autofill/content/browser/content_autofill_driver_factory.cc |
@@ -23,9 +23,10 @@ std::unique_ptr<AutofillDriver> CreateDriver( |
content::RenderFrameHost* render_frame_host, |
AutofillClient* client, |
const std::string& app_locale, |
- AutofillManager::AutofillDownloadManagerState enable_download_manager) { |
+ AutofillManager::AutofillDownloadManagerState enable_download_manager, |
+ AutofillProvider* provider) { |
return base::MakeUnique<ContentAutofillDriver>( |
- render_frame_host, client, app_locale, enable_download_manager); |
+ render_frame_host, client, app_locale, enable_download_manager, provider); |
} |
} // namespace |
@@ -42,11 +43,21 @@ void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate( |
AutofillClient* client, |
const std::string& app_locale, |
AutofillManager::AutofillDownloadManagerState enable_download_manager) { |
+ CreateForWebContentsAndDelegate(contents, client, app_locale, |
+ enable_download_manager, nullptr); |
+} |
+ |
+void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate( |
+ content::WebContents* contents, |
+ AutofillClient* client, |
+ const std::string& app_locale, |
+ AutofillManager::AutofillDownloadManagerState enable_download_manager, |
+ AutofillProvider* provider) { |
if (FromWebContents(contents)) |
return; |
auto new_factory = base::WrapUnique(new ContentAutofillDriverFactory( |
- contents, client, app_locale, enable_download_manager)); |
+ contents, client, app_locale, enable_download_manager, provider)); |
const std::vector<content::RenderFrameHost*> frames = |
contents->GetAllFrames(); |
for (content::RenderFrameHost* frame : frames) { |
@@ -94,11 +105,13 @@ ContentAutofillDriverFactory::ContentAutofillDriverFactory( |
content::WebContents* web_contents, |
AutofillClient* client, |
const std::string& app_locale, |
- AutofillManager::AutofillDownloadManagerState enable_download_manager) |
+ AutofillManager::AutofillDownloadManagerState enable_download_manager, |
+ AutofillProvider* provider) |
: AutofillDriverFactory(client), |
content::WebContentsObserver(web_contents), |
app_locale_(app_locale), |
- enable_download_manager_(enable_download_manager) {} |
+ enable_download_manager_(enable_download_manager), |
+ provider_(provider) {} |
ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame( |
content::RenderFrameHost* render_frame_host) { |
@@ -112,7 +125,7 @@ void ContentAutofillDriverFactory::RenderFrameCreated( |
content::RenderFrameHost* render_frame_host) { |
AddForKey(render_frame_host, |
base::Bind(CreateDriver, render_frame_host, client(), app_locale_, |
- enable_download_manager_)); |
+ enable_download_manager_, provider_)); |
} |
void ContentAutofillDriverFactory::RenderFrameDeleted( |