Index: chrome/browser/content_settings/local_shared_objects_container.cc |
diff --git a/chrome/browser/content_settings/local_shared_objects_container.cc b/chrome/browser/content_settings/local_shared_objects_container.cc |
index 2ec10fedccd656342f0090d0da7008d9f025aa5b..3fd6d068dbfb6609e510a3bfabd25d7b78e64a44 100644 |
--- a/chrome/browser/content_settings/local_shared_objects_container.cc |
+++ b/chrome/browser/content_settings/local_shared_objects_container.cc |
@@ -18,6 +18,19 @@ |
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
#include "net/cookies/canonical_cookie.h" |
+namespace { |
+ |
+// Helper wrapper for net::registry_controlled_domains::SameDomainOrHost |
+// which always excludes private registries. |
+bool SamePublicDomainOrHost(const GURL& gurl1, const GURL& gurl2) { |
+ return net::registry_controlled_domains::SameDomainOrHost( |
+ gurl1, |
+ gurl2, |
+ net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES); |
+} |
+ |
+} |
+ |
LocalSharedObjectsContainer::LocalSharedObjectsContainer(Profile* profile) |
: appcaches_(new CannedBrowsingDataAppCacheHelper(profile)), |
cookies_(new CannedBrowsingDataCookieHelper( |
@@ -82,15 +95,13 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
std::string cookie_domain = cookie->Domain(); |
if (cookie_domain[0] == '.') |
cookie_domain = cookie_domain.substr(1); |
- // The |domain_url| is only created in order to use the SameDomainOrHost |
- // method below. It does not matter which scheme is used as the scheme is |
- // ignored by the SameDomainOrHost method. |
+ // The |domain_url| is only created in order to use the |
+ // SamePublicDomainOrHost method below. It does not matter which scheme is |
+ // used as the scheme is ignored by the SamePublicDomainOrHost method. |
GURL domain_url(std::string(chrome::kHttpScheme) + |
content::kStandardSchemeSeparator + cookie_domain); |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, domain_url)) { |
+ if (SamePublicDomainOrHost(origin, domain_url)) |
++count; |
- } |
} |
} |
@@ -100,10 +111,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
for (std::set<GURL>::const_iterator it = local_storage_info.begin(); |
it != local_storage_info.end(); |
++it) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, *it)) { |
+ if (SamePublicDomainOrHost(origin, *it)) |
++count; |
- } |
} |
// Count session storages for the domain of the given |origin|. |
@@ -111,10 +120,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
for (std::set<GURL>::const_iterator it = urls.begin(); |
it != urls.end(); |
++it) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, *it)) { |
+ if (SamePublicDomainOrHost(origin, *it)) |
++count; |
- } |
} |
// Count indexed dbs for the domain of the given |origin|. |
@@ -125,10 +132,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
indexed_db_info.begin(); |
it != indexed_db_info.end(); |
++it) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, it->origin)) { |
+ if (SamePublicDomainOrHost(origin, it->origin)) |
++count; |
- } |
} |
// Count filesystems for the domain of the given |origin|. |
@@ -139,10 +144,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
for (FileSystemInfoList::const_iterator it = file_system_info.begin(); |
it != file_system_info.end(); |
++it) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, it->origin)) { |
+ if (SamePublicDomainOrHost(origin, it->origin)) |
++count; |
- } |
} |
// Count databases for the domain of the given |origin|. |
@@ -153,10 +156,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
database_list.begin(); |
it != database_list.end(); |
++it) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, it->origin)) { |
+ if (SamePublicDomainOrHost(origin, it->origin)) |
++count; |
- } |
} |
// Count the AppCache manifest files for the domain of the given |origin|. |
@@ -171,10 +172,8 @@ size_t LocalSharedObjectsContainer::GetObjectCountForDomain( |
info_vector.begin(); |
info != info_vector.end(); |
++info) { |
- if (net::RegistryControlledDomainService::SameDomainOrHost( |
- origin, info->manifest_url)) { |
+ if (SamePublicDomainOrHost(origin, info->manifest_url)) |
++count; |
- } |
} |
} |