Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Unified Diff: chrome/browser/autofill/autofill_xml_parser.cc

Issue 11415221: Add support for autofilling radio buttons and checkboxes. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autofill/autofill_xml_parser.cc
diff --git a/chrome/browser/autofill/autofill_xml_parser.cc b/chrome/browser/autofill/autofill_xml_parser.cc
index 92a1ede91c0f94dbc96794d4060b2c51af488145..c9f8507d3a84e6daa406b15d5c9a3347087646b9 100644
--- a/chrome/browser/autofill/autofill_xml_parser.cc
+++ b/chrome/browser/autofill/autofill_xml_parser.cc
@@ -28,10 +28,10 @@ void AutofillXmlParser::Error(buzz::XmlParseContext* context,
}
AutofillQueryXmlParser::AutofillQueryXmlParser(
- std::vector<AutofillFieldType>* field_types,
+ std::vector<AutofillFieldInfo>* field_infos,
UploadRequired* upload_required,
std::string* experiment_id)
- : field_types_(field_types),
+ : field_infos_(field_infos),
upload_required_(upload_required),
experiment_id_(experiment_id) {
DCHECK(upload_required_);
@@ -78,6 +78,7 @@ void AutofillQueryXmlParser::StartElement(buzz::XmlParseContext* context,
AutofillFieldType field_type = UNKNOWN_TYPE;
buzz::QName attribute_qname = context->ResolveQName(attrs[0], true);
const std::string& attribute_name = attribute_qname.LocalPart();
+ std::string default_value;
if (attribute_name.compare("autofilltype") == 0) {
int value = GetIntValue(context, attrs[1]);
@@ -87,8 +88,17 @@ void AutofillQueryXmlParser::StartElement(buzz::XmlParseContext* context,
}
}
- // Record this field type.
- field_types_->push_back(field_type);
+ // If default value is specified in the response, extract it.
+ if (field_type == FIELD_WITH_DEFAULT_VALUE && attrs[2]) {
Albert Bodenhamer 2012/11/30 19:01:08 As the list of attributes gets longer the magic nu
Raman Kakilate 2012/11/30 22:36:53 ATTRIBUTE_1_NAME, ATTRIBUTE_1_VALUE, ATTRIBUTE_2_N
Ilya Sherman 2012/12/01 00:54:12 How about names like ATTRIBUTE_NAME_DEFAULT_FIELD_
Raman Kakilate 2012/12/06 01:54:05 changed the implementation to loop over attribute
+ buzz::QName attrib_qname = context->ResolveQName(attrs[2], true);
+ const std::string& attrib = attrib_qname.LocalPart();
+ if (attrib.compare("defaultvalue") == 0) {
+ default_value.assign(attrs[3]);
+ }
+ }
+
+ // Record this field type, default value pair.
+ field_infos_->push_back(AutofillFieldInfo(field_type, default_value));
}
}

Powered by Google App Engine
This is Rietveld 408576698