| 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_autofill_agent.h" | 5 #include "components/autofill/content/renderer/password_autofill_agent.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 // TODO(vabr): Get a mutable argument instead. http://crbug.com/397083 | 526 // TODO(vabr): Get a mutable argument instead. http://crbug.com/397083 |
| 527 blink::WebInputElement mutable_element = element; // We need a non-const. | 527 blink::WebInputElement mutable_element = element; // We need a non-const. |
| 528 | 528 |
| 529 if (element.isPasswordField()) { | 529 if (element.isPasswordField()) { |
| 530 // Some login forms have event handlers that put a hash of the password into | 530 // Some login forms have event handlers that put a hash of the password into |
| 531 // a hidden field and then clear the password (http://crbug.com/28910, | 531 // a hidden field and then clear the password (http://crbug.com/28910, |
| 532 // http://crbug.com/391693). This method gets called before any of those | 532 // http://crbug.com/391693). This method gets called before any of those |
| 533 // handlers run, so save away a copy of the password in case it gets lost. | 533 // handlers run, so save away a copy of the password in case it gets lost. |
| 534 // To honor the user having explicitly cleared the password, even an empty | 534 // To honor the user having explicitly cleared the password, even an empty |
| 535 // password will be saved here. | 535 // password will be saved here. |
| 536 ProvisionallySavePassword( | 536 if (blink::WebLocalFrame* element_frame = element.document().frame()) { |
| 537 element.document().frame(), element.form(), RESTRICTION_NONE); | 537 ProvisionallySavePassword( |
| 538 element_frame, element.form(), RESTRICTION_NONE); |
| 539 } |
| 538 | 540 |
| 539 PasswordToLoginMap::iterator iter = password_to_username_.find(element); | 541 PasswordToLoginMap::iterator iter = password_to_username_.find(element); |
| 540 if (iter != password_to_username_.end()) { | 542 if (iter != password_to_username_.end()) { |
| 541 login_to_password_info_[iter->second].password_was_edited_last = true; | 543 login_to_password_info_[iter->second].password_was_edited_last = true; |
| 542 // Note that the suggested value of |mutable_element| was reset when its | 544 // Note that the suggested value of |mutable_element| was reset when its |
| 543 // value changed. | 545 // value changed. |
| 544 mutable_element.setAutofilled(false); | 546 mutable_element.setAutofilled(false); |
| 545 } | 547 } |
| 546 return false; | 548 return false; |
| 547 } | 549 } |
| (...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1219 scoped_ptr<PasswordForm> password_form(CreatePasswordForm(form)); | 1221 scoped_ptr<PasswordForm> password_form(CreatePasswordForm(form)); |
| 1220 if (!password_form || (restriction == RESTRICTION_NON_EMPTY_PASSWORD && | 1222 if (!password_form || (restriction == RESTRICTION_NON_EMPTY_PASSWORD && |
| 1221 password_form->password_value.empty() && | 1223 password_form->password_value.empty() && |
| 1222 password_form->new_password_value.empty())) { | 1224 password_form->new_password_value.empty())) { |
| 1223 return; | 1225 return; |
| 1224 } | 1226 } |
| 1225 provisionally_saved_forms_[frame].reset(password_form.release()); | 1227 provisionally_saved_forms_[frame].reset(password_form.release()); |
| 1226 } | 1228 } |
| 1227 | 1229 |
| 1228 } // namespace autofill | 1230 } // namespace autofill |
| OLD | NEW |