diff options
Diffstat (limited to 'chrome/browser/cocoa/cookie_details.mm')
-rw-r--r-- | chrome/browser/cocoa/cookie_details.mm | 65 |
1 files changed, 45 insertions, 20 deletions
diff --git a/chrome/browser/cocoa/cookie_details.mm b/chrome/browser/cocoa/cookie_details.mm index d1d812b..4c483d1f 100644 --- a/chrome/browser/cocoa/cookie_details.mm +++ b/chrome/browser/cocoa/cookie_details.mm @@ -28,6 +28,10 @@ return type_ == kCocoaCookieDetailsTypeTreeLocalStorage; } +- (BOOL)shouldShowLocalStoragePromptDetailsView { + return type_ == kCocoaCookieDetailsTypePromptLocalStorage; +} + - (BOOL)shouldShowDatabaseTreeDetailsView { return type_ == kCocoaCookieDetailsTypeTreeDatabase; } @@ -40,14 +44,14 @@ return type_ == kCocoaCookieDetailsTypePromptDatabase; } -- (BOOL)shouldShowLocalStoragePromptDetailsView { - return type_ == kCocoaCookieDetailsTypePromptLocalStorage; -} - - (BOOL)shouldShowAppCachePromptDetailsView { return type_ == kCocoaCookieDetailsTypePromptAppCache; } +- (BOOL)shouldShowIndexedDBTreeDetailsView { + return type_ == kCocoaCookieDetailsTypeTreeIndexedDB; +} + - (NSString*)name { return name_.get(); } @@ -233,25 +237,46 @@ return self; } +- (id)initWithIndexedDBInfo: + (const BrowsingDataIndexedDBHelper::IndexedDBInfo*)indexedDBInfo { + if ((self = [super init])) { + type_ = kCocoaCookieDetailsTypeTreeIndexedDB; + canEditExpiration_ = NO; + domain_.reset([base::SysUTF8ToNSString(indexedDBInfo->origin) retain]); + fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(indexedDBInfo->size, + GetByteDisplayUnits(indexedDBInfo->size), true)) retain]); + lastModified_.reset([base::SysWideToNSString( + base::TimeFormatFriendlyDateAndTime( + indexedDBInfo->last_modified)) retain]); + name_.reset([base::SysUTF8ToNSString(indexedDBInfo->database_name) retain]); + } + return self; +} + + (CocoaCookieDetails*)createFromCookieTreeNode:(CookieTreeNode*)treeNode { CookieTreeNode::DetailedInfo info = treeNode->GetDetailedInfo(); CookieTreeNode::DetailedInfo::NodeType nodeType = info.node_type; - if (nodeType == CookieTreeNode::DetailedInfo::TYPE_COOKIE) { - NSString* origin = base::SysWideToNSString(info.origin.c_str()); - return [[[CocoaCookieDetails alloc] initWithCookie:info.cookie - origin:origin - canEditExpiration:NO] autorelease]; - } else if (nodeType == CookieTreeNode::DetailedInfo::TYPE_DATABASE) { - return [[[CocoaCookieDetails alloc] - initWithDatabase:info.database_info] autorelease]; - } else if (nodeType == CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE) { - return [[[CocoaCookieDetails alloc] - initWithLocalStorage:info.local_storage_info] autorelease]; - } else if (nodeType == CookieTreeNode::DetailedInfo::TYPE_APPCACHE) { - return [[[CocoaCookieDetails alloc] - initWithAppCacheInfo:info.appcache_info] autorelease]; - } else { - return [[[CocoaCookieDetails alloc] initAsFolder] autorelease]; + NSString* origin; + switch (nodeType) { + case CookieTreeNode::DetailedInfo::TYPE_COOKIE: + origin = base::SysWideToNSString(info.origin.c_str()); + return [[[CocoaCookieDetails alloc] initWithCookie:info.cookie + origin:origin + canEditExpiration:NO] autorelease]; + case CookieTreeNode::DetailedInfo::TYPE_DATABASE: + return [[[CocoaCookieDetails alloc] + initWithDatabase:info.database_info] autorelease]; + case CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE: + return [[[CocoaCookieDetails alloc] + initWithLocalStorage:info.local_storage_info] autorelease]; + case CookieTreeNode::DetailedInfo::TYPE_APPCACHE: + return [[[CocoaCookieDetails alloc] + initWithAppCacheInfo:info.appcache_info] autorelease]; + case CookieTreeNode::DetailedInfo::TYPE_INDEXED_DB: + return [[[CocoaCookieDetails alloc] + initWithIndexedDBInfo:info.indexed_db_info] autorelease]; + default: + return [[[CocoaCookieDetails alloc] initAsFolder] autorelease]; } } |