Index: components/password_manager/core/browser/password_form_manager.cc |
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc |
index 047443114596618a7978e762c0c301ddbe7fa8cb..dc4bf9ac1965a9ce0989811744b23cffc140d326 100644 |
--- a/components/password_manager/core/browser/password_form_manager.cc |
+++ b/components/password_manager/core/browser/password_form_manager.cc |
@@ -154,10 +154,14 @@ PasswordFormManager::MatchResultMask PasswordFormManager::DoesManage( |
StartsWithASCII(new_path, old_path, /*case_sensitive=*/true); |
} |
+ if (!origins_match) |
+ return result; |
+ |
+ result |= RESULT_ORIGINS_MATCH; |
+ |
if (form.username_element == observed_form_.username_element && |
- form.password_element == observed_form_.password_element && |
- origins_match) { |
- result |= RESULT_MANDATORY_ATTRIBUTES_MATCH; |
+ form.password_element == observed_form_.password_element) { |
+ result |= RESULT_HTML_ATTRIBUTES_MATCH; |
} |
// Note: although saved password forms might actually have an empty action |
@@ -405,13 +409,12 @@ bool PasswordFormManager::HasCompletedMatching() const { |
} |
bool PasswordFormManager::IsIgnorableChangePasswordForm( |
- const base::string16& typed_username, |
- const base::string16& typed_password) const { |
- bool is_change_password_form = !observed_form_.new_password_element.empty() && |
- !observed_form_.password_element.empty(); |
- return is_change_password_form && !observed_form_.username_marked_by_site && |
- !DoesUsenameAndPasswordMatchCredentials(typed_username, typed_password, |
- best_matches_); |
+ const PasswordForm& form) const { |
+ bool is_change_password_form = |
+ !form.new_password_element.empty() && !form.password_element.empty(); |
+ return is_change_password_form && !form.username_marked_by_site && |
+ !DoesUsenameAndPasswordMatchCredentials( |
+ form.username_value, form.password_value, best_matches_); |
} |
void PasswordFormManager::OnRequestDone( |