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

Unified Diff: content/renderer/webpublicsuffixlist_impl.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: content/renderer/webpublicsuffixlist_impl.cc
diff --git a/content/renderer/webpublicsuffixlist_impl.cc b/content/renderer/webpublicsuffixlist_impl.cc
index e1e00c22be28c7c42184e38d29999cb81d9f7308..97faedc8659e2702521689caaebe308a6a48a847 100644
--- a/content/renderer/webpublicsuffixlist_impl.cc
+++ b/content/renderer/webpublicsuffixlist_impl.cc
@@ -5,6 +5,8 @@
#include "content/renderer/webpublicsuffixlist_impl.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "net/base/url_util.h"
+#include "url/url_canon.h"
namespace content {
@@ -13,10 +15,16 @@ WebPublicSuffixListImpl::~WebPublicSuffixListImpl() {
size_t WebPublicSuffixListImpl::getPublicSuffixLength(
const blink::WebString& host) {
- size_t result = net::registry_controlled_domains::GetRegistryLength(
- host.utf8(),
- net::registry_controlled_domains::INCLUDE_UNKNOWN_REGISTRIES,
- net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
+#ifndef NDEBUG
+ // Blink should only be calling us with canonical URLs.
+ url::CanonHostInfo host_info;
+ DCHECK_EQ(net::CanonicalizeHost(host.utf8(), &host_info), host.utf8());
+#endif
+ size_t result =
+ net::registry_controlled_domains::GetRegistryLengthForCanonicalHost(
+ host.utf8(),
+ net::registry_controlled_domains::INCLUDE_UNKNOWN_REGISTRIES,
+ net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
return result ? result : host.length();
}

Powered by Google App Engine
This is Rietveld 408576698