Index: chrome/browser/ui/cocoa/content_settings/cookie_details.mm |
diff --git a/chrome/browser/ui/cocoa/content_settings/cookie_details.mm b/chrome/browser/ui/cocoa/content_settings/cookie_details.mm |
index 499b575dd55e27d938057d747a460f2389ab923e..21e3541b8683ae7fbb7e47897a2fda7ccd044040 100644 |
--- a/chrome/browser/ui/cocoa/content_settings/cookie_details.mm |
+++ b/chrome/browser/ui/cocoa/content_settings/cookie_details.mm |
@@ -58,6 +58,10 @@ |
return type_ == kCocoaCookieDetailsTypeTreeServiceWorker; |
} |
+- (BOOL)shouldShowCacheStorageTreeDetailsView { |
+ return type_ == kCocoaCookieDetailsTypeTreeCacheStorage; |
+} |
+ |
- (NSString*)name { |
return name_.get(); |
} |
@@ -280,6 +284,22 @@ |
return self; |
} |
+- (id)initWithCacheStorageUsageInfo: |
+ (const content::CacheStorageUsageInfo*)cacheStorageInfo { |
+ if ((self = [super init])) { |
+ type_ = kCocoaCookieDetailsTypeTreeCacheStorage; |
+ canEditExpiration_ = NO; |
+ domain_.reset( |
+ [base::SysUTF8ToNSString(cacheStorageInfo->origin.spec()) retain]); |
+ fileSize_.reset([base::SysUTF16ToNSString( |
+ ui::FormatBytes(cacheStorageInfo->total_size_bytes)) retain]); |
+ lastModified_.reset([base::SysUTF16ToNSString( |
+ base::TimeFormatFriendlyDateAndTime(cacheStorageInfo->last_modified)) |
+ retain]); |
+ } |
+ return self; |
+} |
+ |
+ (CocoaCookieDetails*)createFromCookieTreeNode:(CookieTreeNode*)treeNode { |
CookieTreeNode::DetailedInfo info = treeNode->GetDetailedInfo(); |
CookieTreeNode::DetailedInfo::NodeType nodeType = info.node_type; |
@@ -302,6 +322,9 @@ |
case CookieTreeNode::DetailedInfo::TYPE_SERVICE_WORKER: |
return [[[CocoaCookieDetails alloc] |
initWithServiceWorkerUsageInfo:info.service_worker_info] autorelease]; |
+ case CookieTreeNode::DetailedInfo::TYPE_CACHE_STORAGE: |
+ return [[[CocoaCookieDetails alloc] |
+ initWithCacheStorageUsageInfo:info.cache_storage_info] autorelease]; |
default: |
return [[[CocoaCookieDetails alloc] initAsFolder] autorelease]; |
} |