Index: chrome/browser/website_settings.cc |
diff --git a/chrome/browser/website_settings.cc b/chrome/browser/website_settings.cc |
index 169780e89451ea3e0f0927933e082d2647f28e11..2e97536682287de571556e66328fb33c898e4c58 100644 |
--- a/chrome/browser/website_settings.cc |
+++ b/chrome/browser/website_settings.cc |
@@ -31,6 +31,7 @@ |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
#include "net/base/cert_status_flags.h" |
+#include "net/base/registry_controlled_domain.h" |
#include "net/base/ssl_cipher_suite_names.h" |
#include "net/base/ssl_connection_status_flags.h" |
#include "net/base/x509_certificate.h" |
@@ -52,19 +53,6 @@ ContentSettingsType kPermissionType[] = { |
CONTENT_SETTINGS_TYPE_GEOLOCATION, |
}; |
-size_t GetLocalStoredObjectCount( |
- const LocalSharedObjectsContainer& local_shared_objects) { |
- size_t count = 0; |
- count += local_shared_objects.cookies()->GetCookieCount(); |
- count += local_shared_objects.databases()->GetDatabaseCount(); |
- count += local_shared_objects.file_systems()->GetFileSystemCount(); |
- count += local_shared_objects.indexed_dbs()->GetIndexedDBCount(); |
- count += local_shared_objects.local_storages()->GetLocalStorageCount(); |
- count += local_shared_objects.server_bound_certs()->GetCertCount(); |
- count += local_shared_objects.session_storages()->GetLocalStorageCount(); |
- return count; |
-} |
- |
} // namespace |
WebsiteSettings::WebsiteSettings( |
@@ -416,12 +404,27 @@ void WebsiteSettings::PresentSitePermissions() { |
void WebsiteSettings::PresentSiteData() { |
CookieInfoList cookie_info_list; |
+ const LocalSharedObjectsContainer& allowed_objects = |
+ tab_specific_content_settings()->allowed_local_shared_objects(); |
+ const LocalSharedObjectsContainer& blocked_objects = |
+ tab_specific_content_settings()->blocked_local_shared_objects(); |
+ |
+ // Add first party cookie and site data counts. |
WebsiteSettingsUI::CookieInfo cookie_info; |
- cookie_info.cookie_source = site_url_.host(); |
- cookie_info.allowed = GetLocalStoredObjectCount( |
- tab_specific_content_settings()->allowed_local_shared_objects()); |
- cookie_info.blocked = GetLocalStoredObjectCount( |
- tab_specific_content_settings()->blocked_local_shared_objects()); |
+ std::string cookie_source = |
+ net::RegistryControlledDomainService::GetDomainAndRegistry(site_url_); |
+ if (cookie_source.empty()) |
+ cookie_source = site_url_.host(); |
+ cookie_info.cookie_source = cookie_source; |
+ cookie_info.allowed = allowed_objects.GetObjectCountForDomain(site_url_); |
+ cookie_info.blocked = blocked_objects.GetObjectCountForDomain(site_url_); |
+ cookie_info_list.push_back(cookie_info); |
+ |
+ // Add third party cookie counts. |
+ cookie_info.cookie_source = l10n_util::GetStringUTF8( |
+ IDS_WEBSITE_SETTINGS_THIRD_PARTY_SITE_DATA); |
+ cookie_info.allowed = allowed_objects.GetObjectCount() - cookie_info.allowed; |
+ cookie_info.blocked = blocked_objects.GetObjectCount() - cookie_info.blocked; |
cookie_info_list.push_back(cookie_info); |
ui_->SetCookieInfo(cookie_info_list); |