Index: chrome/browser/ui/passwords/manage_passwords_state.h |
diff --git a/chrome/browser/ui/passwords/manage_passwords_state.h b/chrome/browser/ui/passwords/manage_passwords_state.h |
index 1f61af3fda6a9e0fe1de309c7c2b80bfcf1980ae..52c0c30a3717d938aad2ae427294b292b446fbed 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_state.h |
+++ b/chrome/browser/ui/passwords/manage_passwords_state.h |
@@ -10,7 +10,6 @@ |
#include "base/callback.h" |
#include "base/macros.h" |
-#include "base/memory/scoped_vector.h" |
#include "components/autofill/core/common/password_form.h" |
#include "components/password_manager/core/browser/password_store_change.h" |
#include "components/password_manager/core/common/credential_manager_types.h" |
@@ -51,13 +50,14 @@ class ManagePasswordsState { |
// Move to CREDENTIAL_REQUEST_STATE. |
void OnRequestCredentials( |
- ScopedVector<autofill::PasswordForm> local_credentials, |
- ScopedVector<autofill::PasswordForm> federated_credentials, |
+ std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, |
+ std::vector<std::unique_ptr<autofill::PasswordForm>> federation_providers, |
const GURL& origin); |
// Move to AUTO_SIGNIN_STATE. |local_forms| can't be empty. |
- void OnAutoSignin(ScopedVector<autofill::PasswordForm> local_forms, |
- const GURL& origin); |
+ void OnAutoSignin( |
+ std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms, |
+ const GURL& origin); |
// Move to CONFIRMATION_STATE. |
void OnAutomaticPasswordSave( |
@@ -103,14 +103,15 @@ class ManagePasswordsState { |
} |
// Current local forms. ManagePasswordsState is responsible for the forms. |
- const std::vector<const autofill::PasswordForm*>& GetCurrentForms() const { |
- return form_manager_ ? current_forms_weak_ : local_credentials_forms_.get(); |
+ const std::vector<std::unique_ptr<autofill::PasswordForm>>& GetCurrentForms() |
+ const { |
+ return local_credentials_forms_; |
} |
// Current federated forms. |
- const std::vector<const autofill::PasswordForm*>& |
- federated_credentials_forms() const { |
- return federated_credentials_forms_.get(); |
+ const std::vector<std::unique_ptr<autofill::PasswordForm>>& |
+ federation_providers_forms() const { |
+ return federation_providers_forms_; |
} |
private: |
@@ -133,19 +134,12 @@ class ManagePasswordsState { |
// Contains the password that was submitted. |
std::unique_ptr<password_manager::PasswordFormManager> form_manager_; |
- // Weak references to the passwords for the current status. The hard pointers |
- // are scattered between |form_manager_| and |local_credentials_forms_|. If |
- // |form_manager_| is nullptr then all the forms are stored in |
- // |local_credentials_forms_|. |current_forms_weak_| remains empty. |
- std::vector<const autofill::PasswordForm*> current_forms_weak_; |
- |
- // If |form_manager_| is nullptr then |local_credentials_forms_| contains all |
- // the current forms. Otherwise, it's a container for the new forms coming |
- // from the PasswordStore. |
- ScopedVector<const autofill::PasswordForm> local_credentials_forms_; |
+ // Contains all the current forms. |
+ std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials_forms_; |
- // Federated credentials for the CREDENTIAL_REQUEST_STATE. |
- ScopedVector<const autofill::PasswordForm> federated_credentials_forms_; |
+ // Federation providers for the CREDENTIAL_REQUEST_STATE. |
+ std::vector<std::unique_ptr<autofill::PasswordForm>> |
+ federation_providers_forms_; |
// A callback to be invoked when user selects a credential. |
CredentialsCallback credentials_callback_; |