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

Unified Diff: chrome/browser/website_settings.cc

Issue 10092013: Display third party cookies and site data counts in the WebsiteSettings UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: "Fix CannedBrowsingDataDatabaseHelperTest.*" Created 8 years, 7 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
« no previous file with comments | « chrome/browser/content_settings/tab_specific_content_settings.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « chrome/browser/content_settings/tab_specific_content_settings.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698