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

Side by Side Diff: chrome/browser/ui/cocoa/cookie_details.mm

Issue 6294008: [Mac] Organize some files into chrome/browser/ui/cocoa/content_settings/.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/cocoa/cookie_details.h"
6
7 #include "app/l10n_util_mac.h"
8 #import "base/i18n/time_formatting.h"
9 #include "base/sys_string_conversions.h"
10 #include "grit/generated_resources.h"
11 #include "chrome/browser/cookies_tree_model.h"
12 #include "webkit/appcache/appcache_service.h"
13
14 #pragma mark Cocoa Cookie Details
15
16 @implementation CocoaCookieDetails
17
18 @synthesize canEditExpiration = canEditExpiration_;
19 @synthesize hasExpiration = hasExpiration_;
20 @synthesize type = type_;
21
22 - (BOOL)shouldHideCookieDetailsView {
23 return type_ != kCocoaCookieDetailsTypeFolder &&
24 type_ != kCocoaCookieDetailsTypeCookie;
25 }
26
27 - (BOOL)shouldShowLocalStorageTreeDetailsView {
28 return type_ == kCocoaCookieDetailsTypeTreeLocalStorage;
29 }
30
31 - (BOOL)shouldShowLocalStoragePromptDetailsView {
32 return type_ == kCocoaCookieDetailsTypePromptLocalStorage;
33 }
34
35 - (BOOL)shouldShowDatabaseTreeDetailsView {
36 return type_ == kCocoaCookieDetailsTypeTreeDatabase;
37 }
38
39 - (BOOL)shouldShowAppCacheTreeDetailsView {
40 return type_ == kCocoaCookieDetailsTypeTreeAppCache;
41 }
42
43 - (BOOL)shouldShowDatabasePromptDetailsView {
44 return type_ == kCocoaCookieDetailsTypePromptDatabase;
45 }
46
47 - (BOOL)shouldShowAppCachePromptDetailsView {
48 return type_ == kCocoaCookieDetailsTypePromptAppCache;
49 }
50
51 - (BOOL)shouldShowIndexedDBTreeDetailsView {
52 return type_ == kCocoaCookieDetailsTypeTreeIndexedDB;
53 }
54
55 - (NSString*)name {
56 return name_.get();
57 }
58
59 - (NSString*)content {
60 return content_.get();
61 }
62
63 - (NSString*)domain {
64 return domain_.get();
65 }
66
67 - (NSString*)path {
68 return path_.get();
69 }
70
71 - (NSString*)sendFor {
72 return sendFor_.get();
73 }
74
75 - (NSString*)created {
76 return created_.get();
77 }
78
79 - (NSString*)expires {
80 return expires_.get();
81 }
82
83 - (NSString*)fileSize {
84 return fileSize_.get();
85 }
86
87 - (NSString*)lastModified {
88 return lastModified_.get();
89 }
90
91 - (NSString*)lastAccessed {
92 return lastAccessed_.get();
93 }
94
95 - (NSString*)databaseDescription {
96 return databaseDescription_.get();
97 }
98
99 - (NSString*)localStorageKey {
100 return localStorageKey_.get();
101 }
102
103 - (NSString*)localStorageValue {
104 return localStorageValue_.get();
105 }
106
107 - (NSString*)manifestURL {
108 return manifestURL_.get();
109 }
110
111 - (id)initAsFolder {
112 if ((self = [super init])) {
113 type_ = kCocoaCookieDetailsTypeFolder;
114 }
115 return self;
116 }
117
118 - (id)initWithCookie:(const net::CookieMonster::CanonicalCookie*)cookie
119 origin:(NSString*)origin
120 canEditExpiration:(BOOL)canEditExpiration {
121 if ((self = [super init])) {
122 type_ = kCocoaCookieDetailsTypeCookie;
123 hasExpiration_ = cookie->DoesExpire();
124 canEditExpiration_ = canEditExpiration && hasExpiration_;
125 name_.reset([base::SysUTF8ToNSString(cookie->Name()) retain]);
126 content_.reset([base::SysUTF8ToNSString(cookie->Value()) retain]);
127 path_.reset([base::SysUTF8ToNSString(cookie->Path()) retain]);
128 domain_.reset([origin retain]);
129
130 if (cookie->DoesExpire()) {
131 expires_.reset([base::SysUTF16ToNSString(
132 base::TimeFormatFriendlyDateAndTime(cookie->ExpiryDate())) retain]);
133 } else {
134 expires_.reset([l10n_util::GetNSStringWithFixup(
135 IDS_COOKIES_COOKIE_EXPIRES_SESSION) retain]);
136 }
137
138 created_.reset([base::SysUTF16ToNSString(
139 base::TimeFormatFriendlyDateAndTime(cookie->CreationDate())) retain]);
140
141 if (cookie->IsSecure()) {
142 sendFor_.reset([l10n_util::GetNSStringWithFixup(
143 IDS_COOKIES_COOKIE_SENDFOR_SECURE) retain]);
144 } else {
145 sendFor_.reset([l10n_util::GetNSStringWithFixup(
146 IDS_COOKIES_COOKIE_SENDFOR_ANY) retain]);
147 }
148 }
149 return self;
150 }
151
152 - (id)initWithDatabase:(const BrowsingDataDatabaseHelper::DatabaseInfo*)
153 databaseInfo {
154 if ((self = [super init])) {
155 type_ = kCocoaCookieDetailsTypeTreeDatabase;
156 canEditExpiration_ = NO;
157 databaseDescription_.reset([base::SysUTF8ToNSString(
158 databaseInfo->description) retain]);
159 fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(databaseInfo->size,
160 GetByteDisplayUnits(databaseInfo->size), true)) retain]);
161 lastModified_.reset([base::SysUTF16ToNSString(
162 base::TimeFormatFriendlyDateAndTime(
163 databaseInfo->last_modified)) retain]);
164 }
165 return self;
166 }
167
168 - (id)initWithLocalStorage:(
169 const BrowsingDataLocalStorageHelper::LocalStorageInfo*)storageInfo {
170 if ((self = [super init])) {
171 type_ = kCocoaCookieDetailsTypeTreeLocalStorage;
172 canEditExpiration_ = NO;
173 domain_.reset([base::SysUTF8ToNSString(storageInfo->origin) retain]);
174 fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(storageInfo->size,
175 GetByteDisplayUnits(storageInfo->size), true)) retain]);
176 lastModified_.reset([base::SysUTF16ToNSString(
177 base::TimeFormatFriendlyDateAndTime(
178 storageInfo->last_modified)) retain]);
179 }
180 return self;
181 }
182
183 - (id)initWithAppCacheInfo:(const appcache::AppCacheInfo*)appcacheInfo {
184 if ((self = [super init])) {
185 type_ = kCocoaCookieDetailsTypeTreeAppCache;
186 canEditExpiration_ = NO;
187 manifestURL_.reset([base::SysUTF8ToNSString(
188 appcacheInfo->manifest_url.spec()) retain]);
189 fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(appcacheInfo->size,
190 GetByteDisplayUnits(appcacheInfo->size), true)) retain]);
191 created_.reset([base::SysUTF16ToNSString(
192 base::TimeFormatFriendlyDateAndTime(
193 appcacheInfo->creation_time)) retain]);
194 lastAccessed_.reset([base::SysUTF16ToNSString(
195 base::TimeFormatFriendlyDateAndTime(
196 appcacheInfo->last_access_time)) retain]);
197 }
198 return self;
199 }
200
201 - (id)initWithDatabase:(const std::string&)domain
202 databaseName:(const string16&)databaseName
203 databaseDescription:(const string16&)databaseDescription
204 fileSize:(unsigned long)fileSize {
205 if ((self = [super init])) {
206 type_ = kCocoaCookieDetailsTypePromptDatabase;
207 canEditExpiration_ = NO;
208 name_.reset([base::SysUTF16ToNSString(databaseName) retain]);
209 domain_.reset([base::SysUTF8ToNSString(domain) retain]);
210 databaseDescription_.reset(
211 [base::SysUTF16ToNSString(databaseDescription) retain]);
212 fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(fileSize,
213 GetByteDisplayUnits(fileSize), true)) retain]);
214 }
215 return self;
216 }
217
218 - (id)initWithLocalStorage:(const std::string&)domain
219 key:(const string16&)key
220 value:(const string16&)value {
221 if ((self = [super init])) {
222 type_ = kCocoaCookieDetailsTypePromptLocalStorage;
223 canEditExpiration_ = NO;
224 domain_.reset([base::SysUTF8ToNSString(domain) retain]);
225 localStorageKey_.reset([base::SysUTF16ToNSString(key) retain]);
226 localStorageValue_.reset([base::SysUTF16ToNSString(value) retain]);
227 }
228 return self;
229 }
230
231 - (id)initWithAppCacheManifestURL:(const std::string&)manifestURL {
232 if ((self = [super init])) {
233 type_ = kCocoaCookieDetailsTypePromptAppCache;
234 canEditExpiration_ = NO;
235 manifestURL_.reset([base::SysUTF8ToNSString(manifestURL) retain]);
236 }
237 return self;
238 }
239
240 - (id)initWithIndexedDBInfo:
241 (const BrowsingDataIndexedDBHelper::IndexedDBInfo*)indexedDBInfo {
242 if ((self = [super init])) {
243 type_ = kCocoaCookieDetailsTypeTreeIndexedDB;
244 canEditExpiration_ = NO;
245 domain_.reset([base::SysUTF8ToNSString(indexedDBInfo->origin) retain]);
246 fileSize_.reset([base::SysUTF16ToNSString(FormatBytes(indexedDBInfo->size,
247 GetByteDisplayUnits(indexedDBInfo->size), true)) retain]);
248 lastModified_.reset([base::SysUTF16ToNSString(
249 base::TimeFormatFriendlyDateAndTime(
250 indexedDBInfo->last_modified)) retain]);
251 }
252 return self;
253 }
254
255 + (CocoaCookieDetails*)createFromCookieTreeNode:(CookieTreeNode*)treeNode {
256 CookieTreeNode::DetailedInfo info = treeNode->GetDetailedInfo();
257 CookieTreeNode::DetailedInfo::NodeType nodeType = info.node_type;
258 NSString* origin;
259 switch (nodeType) {
260 case CookieTreeNode::DetailedInfo::TYPE_COOKIE:
261 origin = base::SysWideToNSString(info.origin.c_str());
262 return [[[CocoaCookieDetails alloc] initWithCookie:info.cookie
263 origin:origin
264 canEditExpiration:NO] autorelease];
265 case CookieTreeNode::DetailedInfo::TYPE_DATABASE:
266 return [[[CocoaCookieDetails alloc]
267 initWithDatabase:info.database_info] autorelease];
268 case CookieTreeNode::DetailedInfo::TYPE_LOCAL_STORAGE:
269 return [[[CocoaCookieDetails alloc]
270 initWithLocalStorage:info.local_storage_info] autorelease];
271 case CookieTreeNode::DetailedInfo::TYPE_APPCACHE:
272 return [[[CocoaCookieDetails alloc]
273 initWithAppCacheInfo:info.appcache_info] autorelease];
274 case CookieTreeNode::DetailedInfo::TYPE_INDEXED_DB:
275 return [[[CocoaCookieDetails alloc]
276 initWithIndexedDBInfo:info.indexed_db_info] autorelease];
277 default:
278 return [[[CocoaCookieDetails alloc] initAsFolder] autorelease];
279 }
280 }
281
282 @end
283
284 #pragma mark Content Object Adapter
285
286 @implementation CookiePromptContentDetailsAdapter
287
288 - (id)initWithDetails:(CocoaCookieDetails*)details {
289 if ((self = [super init])) {
290 details_.reset([details retain]);
291 }
292 return self;
293 }
294
295 - (CocoaCookieDetails*)details {
296 return details_.get();
297 }
298
299 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698