| Index: components/autofill/content/renderer/password_form_conversion_utils.cc
|
| diff --git a/components/autofill/content/renderer/password_form_conversion_utils.cc b/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| index 4c2437ffdce72f35a37c33b368eab68adbdc6a32..37f0e81c3c516af9c53bccb4673a9885b510c4e4 100644
|
| --- a/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| +++ b/components/autofill/content/renderer/password_form_conversion_utils.cc
|
| @@ -350,10 +350,11 @@ void FoundVisiblePasswordAndVisibleUsernameBeforePassword(
|
| // If an element of |form| has an entry in |nonscript_modified_values|, the
|
| // associated string is used instead of the element's value to create
|
| // the PasswordForm.
|
| -bool GetPasswordForm(const SyntheticForm& form,
|
| - PasswordForm* password_form,
|
| - const ModifiedValues* nonscript_modified_values,
|
| - const FormsPredictionsMap* form_predictions) {
|
| +bool GetPasswordForm(
|
| + const SyntheticForm& form,
|
| + PasswordForm* password_form,
|
| + const FieldValueAndPropertiesMaskMap* nonscript_modified_values,
|
| + const FormsPredictionsMap* form_predictions) {
|
| WebInputElement latest_input_element;
|
| WebInputElement username_element;
|
| password_form->username_marked_by_site = false;
|
| @@ -538,7 +539,7 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| auto username_iterator =
|
| nonscript_modified_values->find(username_element);
|
| if (username_iterator != nonscript_modified_values->end()) {
|
| - base::string16 typed_username_value = username_iterator->second;
|
| + base::string16 typed_username_value = username_iterator->second.first;
|
| if (!base::StartsWith(
|
| base::i18n::ToLower(username_value),
|
| base::i18n::ToLower(typed_username_value),
|
| @@ -567,7 +568,7 @@ bool GetPasswordForm(const SyntheticForm& form,
|
| if (nonscript_modified_values != nullptr) {
|
| auto password_iterator = nonscript_modified_values->find(password);
|
| if (password_iterator != nonscript_modified_values->end())
|
| - password_value = password_iterator->second;
|
| + password_value = password_iterator->second.first;
|
| }
|
| password_form->password_value = password_value;
|
| }
|
| @@ -646,7 +647,7 @@ bool IsGaiaReauthenticationForm(
|
|
|
| std::unique_ptr<PasswordForm> CreatePasswordFormFromWebForm(
|
| const WebFormElement& web_form,
|
| - const ModifiedValues* nonscript_modified_values,
|
| + const FieldValueAndPropertiesMaskMap* field_value_and_properties_map,
|
| const FormsPredictionsMap* form_predictions) {
|
| if (web_form.isNull())
|
| return std::unique_ptr<PasswordForm>();
|
| @@ -660,11 +661,12 @@ std::unique_ptr<PasswordForm> CreatePasswordFormFromWebForm(
|
| PopulateSyntheticFormFromWebForm(web_form, &synthetic_form);
|
|
|
| WebFormElementToFormData(web_form, blink::WebFormControlElement(),
|
| + field_value_and_properties_map,
|
| form_util::EXTRACT_NONE, &password_form->form_data,
|
| NULL /* FormFieldData */);
|
|
|
| if (!GetPasswordForm(synthetic_form, password_form.get(),
|
| - nonscript_modified_values, form_predictions))
|
| + field_value_and_properties_map, form_predictions))
|
| return std::unique_ptr<PasswordForm>();
|
|
|
| return password_form;
|
| @@ -672,7 +674,7 @@ std::unique_ptr<PasswordForm> CreatePasswordFormFromWebForm(
|
|
|
| std::unique_ptr<PasswordForm> CreatePasswordFormFromUnownedInputElements(
|
| const WebFrame& frame,
|
| - const ModifiedValues* nonscript_modified_values,
|
| + const FieldValueAndPropertiesMaskMap* field_value_and_properties_map,
|
| const FormsPredictionsMap* form_predictions) {
|
| SyntheticForm synthetic_form;
|
| synthetic_form.control_elements = form_util::GetUnownedFormFieldElements(
|
| @@ -685,10 +687,10 @@ std::unique_ptr<PasswordForm> CreatePasswordFormFromUnownedInputElements(
|
| std::unique_ptr<PasswordForm> password_form(new PasswordForm());
|
| UnownedPasswordFormElementsAndFieldSetsToFormData(
|
| synthetic_form.fieldsets, synthetic_form.control_elements, nullptr,
|
| - frame.document(), form_util::EXTRACT_NONE, &password_form->form_data,
|
| - nullptr /* FormFieldData */);
|
| + frame.document(), field_value_and_properties_map, form_util::EXTRACT_NONE,
|
| + &password_form->form_data, nullptr /* FormFieldData */);
|
| if (!GetPasswordForm(synthetic_form, password_form.get(),
|
| - nonscript_modified_values, form_predictions))
|
| + field_value_and_properties_map, form_predictions))
|
| return std::unique_ptr<PasswordForm>();
|
|
|
| // No actual action on the form, so use the the origin as the action.
|
|
|