Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1882)

Unified Diff: net/base/registry_controlled_domains/registry_controlled_domain.cc

Issue 2433583002: Reduce buggy usage of the registry controlled domain service. (Closed)
Patch Set: . Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/base/registry_controlled_domains/registry_controlled_domain.cc
diff --git a/net/base/registry_controlled_domains/registry_controlled_domain.cc b/net/base/registry_controlled_domains/registry_controlled_domain.cc
index 607d735f3080be6b37354b5963064df6e78bd7fa..67df13044ce85dc1e5965807c6b1df86baba8eca 100644
--- a/net/base/registry_controlled_domains/registry_controlled_domain.cc
+++ b/net/base/registry_controlled_domains/registry_controlled_domain.cc
@@ -241,20 +241,34 @@ size_t GetRegistryLength(
base::StringPiece host = gurl.host_piece();
if (host.empty())
return std::string::npos;
- if (gurl.HostIsIPAddress())
- return 0;
return GetRegistryLengthImpl(host, unknown_filter, private_filter);
}
-size_t GetRegistryLength(base::StringPiece host,
- UnknownRegistryFilter unknown_filter,
- PrivateRegistryFilter private_filter) {
+bool HostHasRegistryControlledDomain(base::StringPiece host,
+ UnknownRegistryFilter unknown_filter,
+ PrivateRegistryFilter private_filter) {
+ url::CanonHostInfo host_info;
+ const std::string canon_host(CanonicalizeHost(host, &host_info));
+ if (canon_host.empty())
+ return false;
+ return GetRegistryLengthImpl(canon_host, unknown_filter, private_filter) > 0;
+}
+
+size_t GetRegistryLengthForCanonicalHost(base::StringPiece canon_host,
+ UnknownRegistryFilter unknown_filter,
+ PrivateRegistryFilter private_filter) {
+ if (canon_host.empty())
+ return std::string::npos;
+ return GetRegistryLengthImpl(canon_host, unknown_filter, private_filter);
+}
+
+size_t BuggyGetHostRegistryLength(const std::string& host,
+ UnknownRegistryFilter unknown_filter,
+ PrivateRegistryFilter private_filter) {
url::CanonHostInfo host_info;
const std::string canon_host(CanonicalizeHost(host, &host_info));
if (canon_host.empty())
return std::string::npos;
- if (host_info.IsIPAddress())
- return 0;
return GetRegistryLengthImpl(canon_host, unknown_filter, private_filter);
}

Powered by Google App Engine
This is Rietveld 408576698