| Index: components/autofill/content/renderer/password_autofill_agent.cc
|
| diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
|
| index 685d91b70df29cc4ff218dd31d070b66e8ba0e08..1120b1e7543dca9938cbb06b27a56d944777685e 100644
|
| --- a/components/autofill/content/renderer/password_autofill_agent.cc
|
| +++ b/components/autofill/content/renderer/password_autofill_agent.cc
|
| @@ -12,7 +12,6 @@
|
| #include <vector>
|
|
|
| #include "base/bind.h"
|
| -#include "base/command_line.h"
|
| #include "base/i18n/case_conversion.h"
|
| #include "base/memory/linked_ptr.h"
|
| #include "base/memory/ptr_util.h"
|
| @@ -27,7 +26,6 @@
|
| #include "components/autofill/content/renderer/password_form_conversion_utils.h"
|
| #include "components/autofill/content/renderer/renderer_save_password_progress_logger.h"
|
| #include "components/autofill/core/common/autofill_constants.h"
|
| -#include "components/autofill/core/common/autofill_switches.h"
|
| #include "components/autofill/core/common/autofill_util.h"
|
| #include "components/autofill/core/common/form_field_data.h"
|
| #include "components/autofill/core/common/password_form_fill_data.h"
|
| @@ -63,9 +61,6 @@ static const size_t kMaximumTextSizeForAutocomplete = 1000;
|
| const char kDummyUsernameField[] = "anonymous_username";
|
| const char kDummyPasswordField[] = "anonymous_password";
|
|
|
| -const char kDebugAttributeForFormSignature[] = "form_signature";
|
| -const char kDebugAttributeForFieldSignature[] = "field_signature";
|
| -
|
| // Maps element names to the actual elements to simplify form filling.
|
| typedef std::map<base::string16, blink::WebInputElement> FormInputElementMap;
|
|
|
| @@ -580,16 +575,18 @@ void AnnotateFormsWithSignatures(
|
| blink::WebString::fromUTF8(base::Uint64ToString(
|
| CalculateFormSignature(password_form->form_data))));
|
|
|
| - blink::WebVector<blink::WebFormControlElement> control_elements =
|
| + std::vector<blink::WebFormControlElement> control_elements =
|
| form_util::ExtractAutofillableElementsInForm(form);
|
| - DCHECK(control_elements.size() == password_form->form_data.fields.size());
|
| +
|
| + if (control_elements.size() != password_form->form_data.fields.size())
|
| + return;
|
| +
|
| for (size_t i = 0; i < control_elements.size(); ++i) {
|
| - blink::WebFormControlElement& control_element = control_elements[i];
|
| - if (!form_util::IsAutofillableElement(control_element))
|
| - continue;
|
| + blink::WebFormControlElement control_element = control_elements[i];
|
|
|
| const FormFieldData& field = password_form->form_data.fields[i];
|
| - DCHECK(field.name == control_element.nameForAutofill().utf16());
|
| + if (field.name != control_element.nameForAutofill().utf16())
|
| + continue;
|
| control_element.setAttribute(
|
| blink::WebString::fromASCII(kDebugAttributeForFieldSignature),
|
| blink::WebString::fromUTF8(
|
| @@ -1053,10 +1050,9 @@ void PasswordAutofillAgent::SendPasswordForms(bool only_visible) {
|
|
|
| blink::WebVector<blink::WebFormElement> forms;
|
| frame->document().forms(forms);
|
| - if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kShowAutofillSignatures)) {
|
| +
|
| + if (IsShowAutofillSignaturesEnabled())
|
| AnnotateFormsWithSignatures(forms);
|
| - }
|
| if (logger)
|
| logger->LogNumber(Logger::STRING_NUMBER_OF_ALL_FORMS, forms.size());
|
|
|
|
|