Chromium Code Reviews| 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 44fc3230804714760d65c1d24e5e0a4becc683f2..d0e0afda9bbd07854d247fdaaaa9575f0c57acea 100644 |
| --- a/components/autofill/content/renderer/password_form_conversion_utils.cc |
| +++ b/components/autofill/content/renderer/password_form_conversion_utils.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/lazy_instance.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "base/metrics/histogram.h" |
| #include "base/strings/string_util.h" |
| #include "components/autofill/content/renderer/form_autofill_util.h" |
| #include "components/autofill/core/common/form_data_predictions.h" |
| @@ -239,6 +240,7 @@ void GetPasswordForm( |
| password_form->username_marked_by_site = false; |
| std::vector<WebInputElement> passwords; |
| std::vector<base::string16> other_possible_usernames; |
| + int num_text_and_password_fields = 0; |
| WebVector<WebFormControlElement> control_elements; |
| form.getFormControlElements(control_elements); |
| @@ -259,6 +261,12 @@ void GetPasswordForm( |
| layout_sequence.push_back('P'); |
| else |
| layout_sequence.push_back('N'); |
| + |
| + // Count the total number of text and password fields. Note that |
|
vabr (Chromium)
2015/05/12 10:26:02
nit: The comment is clear and correct, but probabl
msramek
2015/05/12 10:50:44
Acknowledged.
|
| + // in renderer, |PasswordInputType| is a subclass of |TextFieldInputType|, |
| + // but for consistency with the rest of the code we use the term "text" |
| + // to refer specifically to a non-password text field. |
| + ++num_text_and_password_fields; |
| } |
| // If the password field is readonly, the page is likely using a virtual |
| @@ -368,6 +376,12 @@ void GetPasswordForm( |
| } |
| } |
| password_form->username_value = username_value; |
| + } else { |
|
vabr (Chromium)
2015/05/12 10:26:02
Do you want to report this even if there are not p
msramek
2015/05/12 10:50:44
Do you mean no password fields found? No. But if I
vabr (Chromium)
2015/05/12 11:06:11
Yes, sorry for the confusion, I meant password fie
msramek
2015/05/12 11:27:03
Interesting. I would expect none of this code to t
vabr (Chromium)
2015/05/12 11:33:58
This has the caveat that you won't get this count
msramek
2015/05/12 12:13:47
I know. But in this case the password manager will
|
| + // To get a better idea on how forms without a username field look like, |
| + // report the total number of text and password fields. |
| + UMA_HISTOGRAM_COUNTS_100( |
| + "PasswordManager.EmptyUsernames.TextAndPasswordFieldCount", |
| + num_text_and_password_fields); |
|
vabr (Chromium)
2015/05/12 10:26:02
Alternatively, you can use layout_sequence.size().
msramek
2015/05/12 10:50:44
No, let's use layout_sequence.size(). I just reall
|
| } |
| WebInputElement password; |