 Chromium Code Reviews
 Chromium Code Reviews Issue 208453002:
  Add "previewing on hover" support for password field.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 208453002:
  Add "previewing on hover" support for password field.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: components/autofill/content/renderer/form_autofill_util.cc | 
| diff --git a/components/autofill/content/renderer/form_autofill_util.cc b/components/autofill/content/renderer/form_autofill_util.cc | 
| index c9c6f8789db4e31532694666c8f93db64f4a4ede..04a9883b41089d93243e50364989ab46dbac7442 100644 | 
| --- a/components/autofill/content/renderer/form_autofill_util.cc | 
| +++ b/components/autofill/content/renderer/form_autofill_util.cc | 
| @@ -639,6 +639,11 @@ bool IsMonthInput(const WebInputElement* element) { | 
| return element && element->formControlType() == kMonth; | 
| } | 
| +bool IsPasswordInput(const WebInputElement* element) { | 
| + CR_DEFINE_STATIC_LOCAL(WebString, kPassword, ("password")); | 
| + return element && element->formControlType() == kPassword; | 
| 
Ilya Sherman
2014/03/21 22:35:19
There is already an "element.isPasswordField()" me
 
ziran.sun
2014/03/25 18:25:26
Done.
 | 
| +} | 
| + | 
| // All text fields, including password fields, should be extracted. | 
| bool IsTextInput(const WebInputElement* element) { | 
| return element && element->isTextField(); | 
| @@ -1047,14 +1052,15 @@ void PreviewForm(const FormData& form, const WebInputElement& element) { | 
| } | 
| bool ClearPreviewedFormWithElement(const WebInputElement& element, | 
| - bool was_autofilled) { | 
| + RequirementsMask requirements, | 
| + bool was_autofilled, | 
| + bool was_password_autofilled) { | 
| WebFormElement form_element = element.form(); | 
| if (form_element.isNull()) | 
| return false; | 
| std::vector<WebFormControlElement> control_elements; | 
| - ExtractAutofillableElements(form_element, REQUIRE_AUTOCOMPLETE, | 
| - &control_elements); | 
| + ExtractAutofillableElements(form_element, requirements, &control_elements); | 
| 
Ilya Sherman
2014/03/21 22:35:19
Hmm, would anything go wrong if we were to just al
 
ziran.sun
2014/03/25 18:25:26
I feel that it might be safe to use REQUIRE_NONE h
 
Ilya Sherman
2014/03/25 19:45:27
I think since neither of us sees any reason not to
 | 
| for (size_t i = 0; i < control_elements.size(); ++i) { | 
| // There might be unrelated elements in this form which have already been | 
| // auto-filled. For example, the user might have already filled the address | 
| @@ -1089,6 +1095,8 @@ bool ClearPreviewedFormWithElement(const WebInputElement& element, | 
| bool is_initiating_node = (element == *input_element); | 
| if (is_initiating_node) | 
| input_element->setAutofilled(was_autofilled); | 
| + else if (IsPasswordInput(input_element)) | 
| + input_element->setAutofilled(was_password_autofilled); | 
| else | 
| input_element->setAutofilled(false); |