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

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

Issue 523139: Adds local storage nodes to cookie tree model and cookies view. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 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
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 return nil; // We couldn't find the node. 124 return nil; // We couldn't find the node.
125 } 125 }
126 126
127 #pragma mark Window Controller 127 #pragma mark Window Controller
128 128
129 @implementation CookiesWindowController 129 @implementation CookiesWindowController
130 130
131 @synthesize removeButtonEnabled = removeButtonEnabled_; 131 @synthesize removeButtonEnabled = removeButtonEnabled_;
132 @synthesize treeController = treeController_; 132 @synthesize treeController = treeController_;
133 133
134 - (id)initWithProfile:(Profile*)profile { 134 - (id)initWithProfile:(Profile*)profile
135 storageHelper:(BrowsingDataLocalStorageHelper*)storageHelper {
135 DCHECK(profile); 136 DCHECK(profile);
136 NSString* nibpath = [mac_util::MainAppBundle() pathForResource:@"Cookies" 137 NSString* nibpath = [mac_util::MainAppBundle() pathForResource:@"Cookies"
137 ofType:@"nib"]; 138 ofType:@"nib"];
138 if ((self = [super initWithWindowNibPath:nibpath owner:self])) { 139 if ((self = [super initWithWindowNibPath:nibpath owner:self])) {
139 profile_ = profile; 140 profile_ = profile;
141 storageHelper_ = storageHelper;
140 142
141 [self loadTreeModelFromProfile]; 143 [self loadTreeModelFromProfile];
142 144
143 // Register for Clear Browsing Data controller so we update appropriately. 145 // Register for Clear Browsing Data controller so we update appropriately.
144 ClearBrowsingDataController* clearingController = 146 ClearBrowsingDataController* clearingController =
145 [ClearBrowsingDataController controllerForProfile:profile_]; 147 [ClearBrowsingDataController controllerForProfile:profile_];
146 if (clearingController) { 148 if (clearingController) {
147 NSNotificationCenter* center = [NSNotificationCenter defaultCenter]; 149 NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
148 [center addObserver:self 150 [center addObserver:self
149 selector:@selector(clearBrowsingDataNotification:) 151 selector:@selector(clearBrowsingDataNotification:)
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 300
299 - (NSArray*)icons { 301 - (NSArray*)icons {
300 return icons_.get(); 302 return icons_.get();
301 } 303 }
302 304
303 // Re-initializes the |treeModel_|, creates a new observer for it, and re- 305 // Re-initializes the |treeModel_|, creates a new observer for it, and re-
304 // builds the |cocoaTreeModel_|. We use this to initialize the controller and 306 // builds the |cocoaTreeModel_|. We use this to initialize the controller and
305 // to rebuild after the user clears browsing data. Because the models get 307 // to rebuild after the user clears browsing data. Because the models get
306 // clobbered, we rebuild the icon cache for safety (though they do not change). 308 // clobbered, we rebuild the icon cache for safety (though they do not change).
307 - (void)loadTreeModelFromProfile { 309 - (void)loadTreeModelFromProfile {
308 treeModel_.reset(new CookiesTreeModel(profile_)); 310 treeModel_.reset(new CookiesTreeModel(profile_, storageHelper_));
309 modelObserver_.reset(new CookiesTreeModelObserverBridge(self)); 311 modelObserver_.reset(new CookiesTreeModelObserverBridge(self));
310 treeModel_->SetObserver(modelObserver_.get()); 312 treeModel_->SetObserver(modelObserver_.get());
311 313
312 // Convert the model's icons from Skia to Cocoa. 314 // Convert the model's icons from Skia to Cocoa.
313 std::vector<SkBitmap> skiaIcons; 315 std::vector<SkBitmap> skiaIcons;
314 treeModel_->GetIcons(&skiaIcons); 316 treeModel_->GetIcons(&skiaIcons);
315 icons_.reset([[NSMutableArray alloc] init]); 317 icons_.reset([[NSMutableArray alloc] init]);
316 for (std::vector<SkBitmap>::iterator it = skiaIcons.begin(); 318 for (std::vector<SkBitmap>::iterator it = skiaIcons.begin();
317 it != skiaIcons.end(); ++it) { 319 it != skiaIcons.end(); ++it) {
318 [icons_ addObject:gfx::SkBitmapToNSImage(*it)]; 320 [icons_ addObject:gfx::SkBitmapToNSImage(*it)];
319 } 321 }
320 322
321 // Default icon will be the last item in the array. 323 // Default icon will be the last item in the array.
322 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 324 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
323 // TODO(rsesek): Rename this resource now that it's in multiple places. 325 // TODO(rsesek): Rename this resource now that it's in multiple places.
324 [icons_ addObject:rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER)]; 326 [icons_ addObject:rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER)];
325 327
326 // Create the Cocoa model. 328 // Create the Cocoa model.
327 CookieTreeNode* root = static_cast<CookieTreeNode*>(treeModel_->GetRoot()); 329 CookieTreeNode* root = static_cast<CookieTreeNode*>(treeModel_->GetRoot());
328 scoped_nsobject<CocoaCookieTreeNode> model( 330 scoped_nsobject<CocoaCookieTreeNode> model(
329 [[CocoaCookieTreeNode alloc] initWithNode:root]); 331 [[CocoaCookieTreeNode alloc] initWithNode:root]);
330 [self setCocoaTreeModel:model.get()]; // Takes ownership. 332 [self setCocoaTreeModel:model.get()]; // Takes ownership.
331 } 333 }
332 334
333 @end 335 @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