| Index: chrome/browser/autofill/autofill_manager.cc
|
| diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc
|
| index 89ce8f4fb6a026a71914655b1490de436798b652..e6a76f7e761871bc003e65aa5c936c4e8a8b1287 100644
|
| --- a/chrome/browser/autofill/autofill_manager.cc
|
| +++ b/chrome/browser/autofill/autofill_manager.cc
|
| @@ -654,6 +654,26 @@ void AutofillManager::OnFillAutofillFormData(int query_id,
|
| // Mark the cached field as autofilled, so that we can detect when a user
|
| // edits an autofilled field (for metrics).
|
| form_structure->field(i)->is_autofilled = true;
|
| + } else if (cached_field->type() == FIELD_WITH_DEFAULT_VALUE &&
|
| + cached_field->is_checkable) {
|
| + // For a form with radio buttons, like:
|
| + // <form>
|
| + // <input type="radio" name="sex" value="male">Male<br>
|
| + // <input type="radio" name="sex" value="female">Female
|
| + // </form>
|
| + // If the default value specified at the server is "female", then
|
| + // Autofill server responds back with following field mappings
|
| + // (fieldtype: FIELD_WITH_DEFAULT_VALUE, value: "female")
|
| + // (fieldtype: FIELD_WITH_DEFAULT_VALUE, value: "female")
|
| + // Note that, the field mapping is repeated twice to respond to both the
|
| + // input elements with the same name/signature in the form.
|
| + string16 default_value = UTF8ToUTF16(cached_field->default_value());
|
| + // Mark the field checked if server says the default value of the field
|
| + // to be this field's value.
|
| + result.fields[i].is_checked = (default_value == result.fields[i].value);
|
| + // Mark the cached field as autofilled, so that we can detect when a user
|
| + // edits an autofilled field (for metrics).
|
| + form_structure->field(i)->is_autofilled = true;
|
| }
|
| }
|
|
|
|
|