Index: chrome/browser/autofill/autofill_manager.cc |
=================================================================== |
--- chrome/browser/autofill/autofill_manager.cc (revision 30762) |
+++ chrome/browser/autofill/autofill_manager.cc (working copy) |
@@ -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 @@ |
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(); |
} |