Index: chrome/browser/ui/passwords/manage_passwords_ui_controller.h |
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller.h b/chrome/browser/ui/passwords/manage_passwords_ui_controller.h |
index eed1a64286e6d3d9617cf8c27467ec3d7f238f21..7e1b67e0a1b8f53e4a6523e3ae46f1f4db8551d1 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller.h |
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller.h |
@@ -5,6 +5,8 @@ |
#ifndef CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_UI_CONTROLLER_H_ |
#define CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_UI_CONTROLLER_H_ |
+#include "base/memory/scoped_vector.h" |
+#include "components/autofill/core/common/password_form.h" |
#include "components/password_manager/core/browser/password_form_manager.h" |
#include "components/password_manager/core/browser/password_store.h" |
#include "components/password_manager/core/browser/password_store_change.h" |
@@ -95,6 +97,11 @@ class ManagePasswordsUIController |
// the value in ManagePasswordsUIControllerMock. |
autofill::PasswordFormMap password_form_map_; |
+ // We create copies of PasswordForm objects that come in via OnLoginsChanged() |
+ // and store them in this vector as well as in |password_form_map_| to ensure |
+ // that we destroy them correctly. |
+ ScopedVector<autofill::PasswordForm> new_password_forms_; |
+ |
// The current state of the password manager. Protected so we can manipulate |
// the value in tests. |
password_manager::ui::State state_; |