Index: components/ssl_errors/error_classification.cc |
diff --git a/components/ssl_errors/error_classification.cc b/components/ssl_errors/error_classification.cc |
index c61b3262aca91ceeb9df8e5f83ba5a1fa6e209a4..572b5729528089c583738fe485b8f51de6e4c999 100644 |
--- a/components/ssl_errors/error_classification.cc |
+++ b/components/ssl_errors/error_classification.cc |
@@ -73,7 +73,7 @@ std::vector<HostnameTokens> GetTokenizedDNSNames( |
for (const auto& dns_name : dns_names) { |
HostnameTokens dns_name_token_single; |
if (dns_name.empty() || dns_name.find('\0') != std::string::npos || |
- !(IsHostNameKnownTLD(dns_name))) { |
+ !(HostNameHasKnownTLD(dns_name))) { |
dns_name_token_single.push_back(std::string()); |
} else { |
dns_name_token_single = Tokenize(dns_name); |
@@ -148,7 +148,7 @@ void RecordUMAStatistics(bool overridable, |
} |
case ssl_errors::ErrorInfo::CERT_COMMON_NAME_INVALID: { |
std::string host_name = request_url.host(); |
- if (IsHostNameKnownTLD(host_name)) { |
+ if (HostNameHasKnownTLD(host_name)) { |
HostnameTokens host_name_tokens = Tokenize(host_name); |
if (IsWWWSubDomainMatch(request_url, cert)) |
RecordSSLInterstitialCause(overridable, WWW_SUBDOMAIN_MATCH); |
@@ -278,13 +278,10 @@ void SetBuildTimeForTesting(const base::Time& testing_time) { |
g_testing_build_time.Get() = testing_time; |
} |
-bool IsHostNameKnownTLD(const std::string& host_name) { |
- size_t tld_length = net::registry_controlled_domains::GetRegistryLength( |
+bool HostNameHasKnownTLD(const std::string& host_name) { |
+ return net::registry_controlled_domains::HostHasRegistryControlledDomain( |
host_name, net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES, |
net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); |
- if (tld_length == 0 || tld_length == std::string::npos) |
- return false; |
- return true; |
} |
HostnameTokens Tokenize(const std::string& name) { |
@@ -297,12 +294,12 @@ bool GetWWWSubDomainMatch(const GURL& request_url, |
std::string* www_match_host_name) { |
const std::string& host_name = request_url.host(); |
- if (IsHostNameKnownTLD(host_name)) { |
+ if (HostNameHasKnownTLD(host_name)) { |
// Need to account for all possible domains given in the SSL certificate. |
for (const auto& dns_name : dns_names) { |
if (dns_name.empty() || dns_name.find('\0') != std::string::npos || |
dns_name.length() == host_name.length() || |
- !IsHostNameKnownTLD(dns_name)) { |
+ !HostNameHasKnownTLD(dns_name)) { |
continue; |
} else if (dns_name.length() > host_name.length()) { |
if (url_formatter::StripWWW(base::ASCIIToUTF16(dns_name)) == |
@@ -393,7 +390,7 @@ bool IsSubDomainOutsideWildcard(const GURL& request_url, |
for (const auto& dns_name : dns_names) { |
if (dns_name.length() < 2 || dns_name.length() >= host_name.length() || |
dns_name.find('\0') != std::string::npos || |
- !IsHostNameKnownTLD(dns_name) || dns_name[0] != '*' || |
+ !HostNameHasKnownTLD(dns_name) || dns_name[0] != '*' || |
dns_name[1] != '.') { |
continue; |
} |