Index: components/password_manager/content/common/credential_manager_types.cc |
diff --git a/components/password_manager/content/common/credential_manager_types.cc b/components/password_manager/content/common/credential_manager_types.cc |
index 4ab49d917b855a9b170bd63c5077589e940cb208..ea55c0683c00e2069b4c562f10a31af73ff3ac91 100644 |
--- a/components/password_manager/content/common/credential_manager_types.cc |
+++ b/components/password_manager/content/common/credential_manager_types.cc |
@@ -33,15 +33,26 @@ CredentialInfo::CredentialInfo(const blink::WebCredential& credential) |
} |
} |
-CredentialInfo::CredentialInfo(const autofill::PasswordForm& form) |
- : id(form.username_value), |
+CredentialInfo::CredentialInfo(const autofill::PasswordForm& form, |
+ CredentialType form_type) |
+ : type(form_type), |
+ id(form.username_value), |
name(form.display_name), |
avatar(form.avatar_url), |
password(form.password_value), |
federation(form.federation_url) { |
- DCHECK(!password.empty() || !federation.is_empty()); |
- type = password.empty() ? CredentialType::CREDENTIAL_TYPE_FEDERATED |
- : CredentialType::CREDENTIAL_TYPE_LOCAL; |
+ switch (form_type) { |
+ case CredentialType::CREDENTIAL_TYPE_EMPTY: |
+ password = base::string16(); |
+ federation = GURL(); |
+ break; |
+ case CredentialType::CREDENTIAL_TYPE_LOCAL: |
+ federation = GURL(); |
+ break; |
+ case CredentialType::CREDENTIAL_TYPE_FEDERATED: |
+ password = base::string16(); |
+ break; |
+ } |
} |
CredentialInfo::~CredentialInfo() { |