| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/autofill/content/renderer/password_generation_agent.h" | 5 #include "components/autofill/content/renderer/password_generation_agent.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 passwords.push_back(*confirmation_field_iter); | 102 passwords.push_back(*confirmation_field_iter); |
| 103 } | 103 } |
| 104 return passwords; | 104 return passwords; |
| 105 } | 105 } |
| 106 | 106 |
| 107 void CopyElementValueToOtherInputElements( | 107 void CopyElementValueToOtherInputElements( |
| 108 const blink::WebInputElement* element, | 108 const blink::WebInputElement* element, |
| 109 std::vector<blink::WebInputElement>* elements) { | 109 std::vector<blink::WebInputElement>* elements) { |
| 110 for (blink::WebInputElement& it : *elements) { | 110 for (blink::WebInputElement& it : *elements) { |
| 111 if (*element != it) { | 111 if (*element != it) { |
| 112 it.setValue(element->value(), true /* sendEvents */); | 112 it.setAutofillValue(element->value()); |
| 113 } | 113 } |
| 114 } | 114 } |
| 115 } | 115 } |
| 116 | 116 |
| 117 bool AutocompleteAttributesSetForGeneration(const PasswordForm& form) { | 117 bool AutocompleteAttributesSetForGeneration(const PasswordForm& form) { |
| 118 return form.username_marked_by_site && form.new_password_marked_by_site; | 118 return form.username_marked_by_site && form.new_password_marked_by_site; |
| 119 } | 119 } |
| 120 | 120 |
| 121 } // namespace | 121 } // namespace |
| 122 | 122 |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 DetermineGenerationElement(); | 311 DetermineGenerationElement(); |
| 312 } | 312 } |
| 313 | 313 |
| 314 void PasswordGenerationAgent::GeneratedPasswordAccepted( | 314 void PasswordGenerationAgent::GeneratedPasswordAccepted( |
| 315 const base::string16& password) { | 315 const base::string16& password) { |
| 316 password_is_generated_ = true; | 316 password_is_generated_ = true; |
| 317 password_generation::LogPasswordGenerationEvent( | 317 password_generation::LogPasswordGenerationEvent( |
| 318 password_generation::PASSWORD_ACCEPTED); | 318 password_generation::PASSWORD_ACCEPTED); |
| 319 LogMessage(Logger::STRING_GENERATION_RENDERER_GENERATED_PASSWORD_ACCEPTED); | 319 LogMessage(Logger::STRING_GENERATION_RENDERER_GENERATED_PASSWORD_ACCEPTED); |
| 320 for (auto& password_element : generation_form_data_->password_elements) { | 320 for (auto& password_element : generation_form_data_->password_elements) { |
| 321 password_element.setValue(blink::WebString::fromUTF16(password), | 321 password_element.setAutofillValue(blink::WebString::fromUTF16(password)); |
| 322 true /* sendEvents */); | 322 // setAutofillValue() above may have resulted in JavaScript closing the |
| 323 // setValue() above may have resulted in JavaScript closing the frame. | 323 // frame. |
| 324 if (!render_frame()) | 324 if (!render_frame()) |
| 325 return; | 325 return; |
| 326 password_element.setAutofilled(true); | 326 password_element.setAutofilled(true); |
| 327 // Needed to notify password_autofill_agent that the content of the field | 327 // Needed to notify password_autofill_agent that the content of the field |
| 328 // has changed. Without this we will overwrite the generated | 328 // has changed. Without this we will overwrite the generated |
| 329 // password with an Autofilled password when saving. | 329 // password with an Autofilled password when saving. |
| 330 // https://crbug.com/493455 | 330 // https://crbug.com/493455 |
| 331 password_agent_->UpdateStateForTextChange(password_element); | 331 password_agent_->UpdateStateForTextChange(password_element); |
| 332 // Advance focus to the next input field. We assume password fields in | 332 // Advance focus to the next input field. We assume password fields in |
| 333 // an account creation form are always adjacent. | 333 // an account creation form are always adjacent. |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 | 617 |
| 618 void PasswordGenerationAgent::LogNumber(Logger::StringID message_id, | 618 void PasswordGenerationAgent::LogNumber(Logger::StringID message_id, |
| 619 int number) { | 619 int number) { |
| 620 if (!password_agent_->logging_state_active()) | 620 if (!password_agent_->logging_state_active()) |
| 621 return; | 621 return; |
| 622 RendererSavePasswordProgressLogger logger(GetPasswordManagerDriver().get()); | 622 RendererSavePasswordProgressLogger logger(GetPasswordManagerDriver().get()); |
| 623 logger.LogNumber(message_id, number); | 623 logger.LogNumber(message_id, number); |
| 624 } | 624 } |
| 625 | 625 |
| 626 } // namespace autofill | 626 } // namespace autofill |
| OLD | NEW |