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

Unified Diff: chrome/browser/ui/webui/cookies_tree_model_util.cc

Issue 7387007: Adding usage and quota entry to chrome://settings/cookies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed leak suppressions. Created 9 years, 4 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: chrome/browser/ui/webui/cookies_tree_model_util.cc
diff --git a/chrome/browser/ui/webui/cookies_tree_model_util.cc b/chrome/browser/ui/webui/cookies_tree_model_util.cc
index ac744b49e1e1ac5222a38dc77e0864ff30ec5309..05dc69c11e5827e509b71c05e911003b7304a34e 100644
--- a/chrome/browser/ui/webui/cookies_tree_model_util.cc
+++ b/chrome/browser/ui/webui/cookies_tree_model_util.cc
@@ -41,6 +41,13 @@ static const char kKeyModified[] = "modified";
static const char kKeyPersistent[] = "persistent";
static const char kKeyTemporary[] = "temporary";
+static const char kKeyTotalUsage[] = "totalUsage";
+static const char kKeyTemporaryUsage[] = "temporaryUsage";
+static const char kKeyPersistentUsage[] = "persistentUsage";
+static const char kKeyPersistentQuota[] = "persistentQuota";
+
+static const int64 kNegligibleUsage = 1024; // 1KiB
+
// Encodes a pointer value into a hex string.
std::string PointerToHexString(const void* pointer) {
return base::HexEncode(&pointer, sizeof(pointer));
@@ -65,7 +72,7 @@ std::string GetTreeNodeId(CookieTreeNode* node) {
return PointerToHexString(node);
}
-void GetCookieTreeNodeDictionary(const CookieTreeNode& node,
+bool GetCookieTreeNodeDictionary(const CookieTreeNode& node,
DictionaryValue* dict) {
// Use node's address as an id for WebUI to look it up.
dict->SetString(kKeyId, PointerToHexString(&node));
@@ -190,12 +197,36 @@ void GetCookieTreeNodeDictionary(const CookieTreeNode& node,
IDS_COOKIES_FILE_SYSTEM_USAGE_NONE));
break;
}
+ case CookieTreeNode::DetailedInfo::TYPE_QUOTA: {
+ dict->SetString(kKeyType, "quota");
+ dict->SetString(kKeyIcon, "chrome://theme/IDR_COOKIE_STORAGE_ICON");
+
+ const BrowsingDataQuotaHelper::QuotaInfo& quota_info =
+ *node.GetDetailedInfo().quota_info;
+ if (quota_info.temporary_usage + quota_info.persistent_usage <=
+ kNegligibleUsage)
+ return false;
+
+ dict->SetString(kKeyOrigin, quota_info.host);
+ dict->SetString(kKeyTotalUsage,
+ UTF16ToUTF8(ui::FormatBytes(
+ quota_info.temporary_usage +
+ quota_info.persistent_usage)));
+ dict->SetString(kKeyTemporaryUsage,
+ UTF16ToUTF8(ui::FormatBytes(
+ quota_info.temporary_usage)));
+ dict->SetString(kKeyPersistentUsage,
+ UTF16ToUTF8(ui::FormatBytes(
+ quota_info.persistent_usage)));
+ break;
+ }
default:
#if defined(OS_MACOSX)
dict->SetString(kKeyIcon, "chrome://theme/IDR_BOOKMARK_BAR_FOLDER");
#endif
break;
}
+ return true;
}
void GetChildNodeList(CookieTreeNode* parent, int start, int count,
@@ -203,8 +234,10 @@ void GetChildNodeList(CookieTreeNode* parent, int start, int count,
for (int i = 0; i < count; ++i) {
DictionaryValue* dict = new DictionaryValue;
CookieTreeNode* child = parent->GetChild(start + i);
- GetCookieTreeNodeDictionary(*child, dict);
- nodes->Append(dict);
+ if (GetCookieTreeNodeDictionary(*child, dict))
+ nodes->Append(dict);
+ else
+ delete dict;
}
}
« no previous file with comments | « chrome/browser/ui/webui/cookies_tree_model_util.h ('k') | chrome/browser/ui/webui/options/cookies_view_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698