| 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;
 | 
|      }
 | 
|    }
 | 
|  
 | 
| 
 |