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

Side by Side Diff: chrome/browser/cocoa/cookies_window_controller.mm

Issue 599003: [Mac] Add local storage nodes to the cookie manager (Closed)
Patch Set: Final Created 10 years, 10 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/cocoa/cookies_window_controller.h" 5 #import "chrome/browser/cocoa/cookies_window_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "app/l10n_util_mac.h" 9 #include "app/l10n_util_mac.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 [[folderChild childNodes] objectAtIndex:0]; 313 [[folderChild childNodes] objectAtIndex:0];
314 [treeController_ setSelectionIndexPath:[firstCookieChild indexPath]]; 314 [treeController_ setSelectionIndexPath:[firstCookieChild indexPath]];
315 } 315 }
316 } 316 }
317 } 317 }
318 } 318 }
319 319
320 - (void)outlineViewSelectionDidChange:(NSNotification*)notif { 320 - (void)outlineViewSelectionDidChange:(NSNotification*)notif {
321 // Multi-selection should be disabled in the UI, but for sanity, double-check 321 // Multi-selection should be disabled in the UI, but for sanity, double-check
322 // that they can't do it here. 322 // that they can't do it here.
323 NSUInteger count = [[treeController_ selectedObjects] count]; 323 NSArray* selectedObjects = [treeController_ selectedObjects];
324 NSUInteger count = [selectedObjects count];
324 if (count != 1U) { 325 if (count != 1U) {
325 DCHECK_LT(count, 1U) << "User was able to select more than 1 cookie node!"; 326 DCHECK_LT(count, 1U) << "User was able to select more than 1 cookie node!";
326 [self setRemoveButtonEnabled:NO]; 327 [self setRemoveButtonEnabled:NO];
327 return; 328 return;
328 } 329 }
329 330
330 // Go through the selection's indexPath and make sure that the node that is 331 // Go through the selection's indexPath and make sure that the node that is
331 // being referenced actually exists in the Cocoa model. 332 // being referenced actually exists in the Cocoa model.
332 NSIndexPath* selection = [treeController_ selectionIndexPath]; 333 NSIndexPath* selection = [treeController_ selectionIndexPath];
333 NSUInteger length = [selection length]; 334 NSUInteger length = [selection length];
334 CocoaCookieTreeNode* node = [self cocoaTreeModel]; 335 CocoaCookieTreeNode* node = [self cocoaTreeModel];
335 for (NSUInteger i = 0; i < length; ++i) { 336 for (NSUInteger i = 0; i < length; ++i) {
336 NSUInteger childIndex = [selection indexAtPosition:i]; 337 NSUInteger childIndex = [selection indexAtPosition:i];
337 if (childIndex >= [[node children] count]) { 338 if (childIndex >= [[node children] count]) {
338 [self setRemoveButtonEnabled:NO]; 339 [self setRemoveButtonEnabled:NO];
339 return; 340 return;
340 } 341 }
341 node = [[node children] objectAtIndex:childIndex]; 342 node = [[node children] objectAtIndex:childIndex];
342 } 343 }
343 344
344 [self setRemoveButtonEnabled:YES]; 345 [self setRemoveButtonEnabled:YES];
346 CocoaCookieTreeNodeType nodeType = [[selectedObjects lastObject] nodeType];
347 if (nodeType == kCocoaCookieTreeNodeTypeLocalStorage) {
348 [cookieInfo_ setHidden:YES];
349 [localStorageInfo_ setHidden:NO];
350 } else {
351 [cookieInfo_ setHidden:NO];
352 [localStorageInfo_ setHidden:YES];
353 }
345 } 354 }
346 355
347 #pragma mark Unit Testing 356 #pragma mark Unit Testing
348 357
349 - (CookiesTreeModelObserverBridge*)modelObserver { 358 - (CookiesTreeModelObserverBridge*)modelObserver {
350 return modelObserver_.get(); 359 return modelObserver_.get();
351 } 360 }
352 361
353 - (NSArray*)icons { 362 - (NSArray*)icons {
354 return icons_.get(); 363 return icons_.get();
355 } 364 }
356 365
366 - (NSView*)cookieInfoView {
367 return cookieInfo_;
368 }
369
370 - (NSView*)localStorageInfoView {
371 return localStorageInfo_;
372 }
373
357 // Re-initializes the |treeModel_|, creates a new observer for it, and re- 374 // Re-initializes the |treeModel_|, creates a new observer for it, and re-
358 // builds the |cocoaTreeModel_|. We use this to initialize the controller and 375 // builds the |cocoaTreeModel_|. We use this to initialize the controller and
359 // to rebuild after the user clears browsing data. Because the models get 376 // to rebuild after the user clears browsing data. Because the models get
360 // clobbered, we rebuild the icon cache for safety (though they do not change). 377 // clobbered, we rebuild the icon cache for safety (though they do not change).
361 - (void)loadTreeModelFromProfile { 378 - (void)loadTreeModelFromProfile {
362 treeModel_.reset(new CookiesTreeModel(profile_, storageHelper_)); 379 treeModel_.reset(new CookiesTreeModel(profile_, storageHelper_));
363 modelObserver_.reset(new CookiesTreeModelObserverBridge(self)); 380 modelObserver_.reset(new CookiesTreeModelObserverBridge(self));
364 treeModel_->SetObserver(modelObserver_.get()); 381 treeModel_->SetObserver(modelObserver_.get());
365 382
366 // Convert the model's icons from Skia to Cocoa. 383 // Convert the model's icons from Skia to Cocoa.
(...skipping 11 matching lines...) Expand all
378 [icons_ addObject:rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER)]; 395 [icons_ addObject:rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER)];
379 396
380 // Create the Cocoa model. 397 // Create the Cocoa model.
381 CookieTreeNode* root = static_cast<CookieTreeNode*>(treeModel_->GetRoot()); 398 CookieTreeNode* root = static_cast<CookieTreeNode*>(treeModel_->GetRoot());
382 scoped_nsobject<CocoaCookieTreeNode> model( 399 scoped_nsobject<CocoaCookieTreeNode> model(
383 [[CocoaCookieTreeNode alloc] initWithNode:root]); 400 [[CocoaCookieTreeNode alloc] initWithNode:root]);
384 [self setCocoaTreeModel:model.get()]; // Takes ownership. 401 [self setCocoaTreeModel:model.get()]; // Takes ownership.
385 } 402 }
386 403
387 @end 404 @end
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/cookies_window_controller.h ('k') | chrome/browser/cocoa/cookies_window_controller_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698