Index: components/password_manager/core/browser/login_database.cc |
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc |
index a65bf05509bd412527089d12fae5a7c73a0afd9f..fe6451f0d09146e2f2621cbf056fd3118098ed7b 100644 |
--- a/components/password_manager/core/browser/login_database.cc |
+++ b/components/password_manager/core/browser/login_database.cc |
@@ -436,7 +436,8 @@ bool LoginDatabase::GetLogins(const PasswordForm& form, |
PSLMatchingHelper::GetRegistryControlledDomain(signon_realm); |
PSLMatchingHelper::PSLDomainMatchMetric psl_domain_match_metric = |
PSLMatchingHelper::PSL_DOMAIN_MATCH_NONE; |
- if (psl_helper_.ShouldPSLDomainMatchingApply(registered_domain)) { |
+ if (psl_helper_.ShouldPSLDomainMatchingApply(registered_domain) && |
+ form.scheme == PasswordForm::SCHEME_HTML) { |
// We are extending the original SQL query with one that includes more |
// possible matches based on public suffix domain matching. Using a regexp |
// here is just an optimization to not have to parse all the stored entries |
@@ -481,7 +482,8 @@ bool LoginDatabase::GetLogins(const PasswordForm& form, |
DCHECK(result == ENCRYPTION_RESULT_SUCCESS); |
if (psl_helper_.IsMatchingEnabled()) { |
if (!PSLMatchingHelper::IsPublicSuffixDomainMatch(new_form->signon_realm, |
- form.signon_realm)) { |
+ form.signon_realm) || |
+ new_form->scheme != PasswordForm::SCHEME_HTML) { |
vabr (Chromium)
2014/05/07 07:57:38
optional nit: Consider swapping the order of the t
Garrett Casto
2014/05/08 20:01:20
Done.
|
// The database returned results that should not match. Skipping result. |
continue; |
} |