diff options
Diffstat (limited to 'chrome/browser/autofill/autofill_manager.cc')
-rw-r--r-- | chrome/browser/autofill/autofill_manager.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc index 6b78a3d..2a9d3f3 100644 --- a/chrome/browser/autofill/autofill_manager.cc +++ b/chrome/browser/autofill/autofill_manager.cc @@ -4,8 +4,11 @@ #include "chrome/browser/autofill/autofill_manager.h" +#include <string> + #include "base/command_line.h" #include "chrome/browser/autofill/autofill_infobar_delegate.h" +#include "chrome/browser/autofill/form_structure.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/common/chrome_switches.h" #include "webkit/glue/form_field_values.h" @@ -26,16 +29,29 @@ void AutoFillManager::FormFieldValuesSubmitted( return; // Grab a copy of the form data. - form_data_.reset(new webkit_glue::FormFieldValues(form)); + form_structure_.reset(new FormStructure(form)); + + if (!form_structure_->IsAutoFillable()) + return; // Ask the user for permission to save form information. infobar_.reset(new AutoFillInfoBarDelegate(tab_contents_, this)); } void AutoFillManager::SaveFormData() { + UploadFormData(); + // TODO(jhawkins): Save the form data to the web database. } +void AutoFillManager::UploadFormData() { + std::string xml; + bool ok = form_structure_->EncodeUploadRequest(false, &xml); + DCHECK(ok); + + // TODO(jhawkins): Initiate the upload request thread. +} + void AutoFillManager::Reset() { - form_data_.reset(); + form_structure_.reset(); } |