Chromium Code Reviews| Index: chrome/browser/cocoa/bookmark_bar_controller.mm |
| diff --git a/chrome/browser/cocoa/bookmark_bar_controller.mm b/chrome/browser/cocoa/bookmark_bar_controller.mm |
| index 7100bbbad7046931ffc4a632b26bf73968075f94..4118ba47a16b0f07bdb74a44c40925526b47b558 100644 |
| --- a/chrome/browser/cocoa/bookmark_bar_controller.mm |
| +++ b/chrome/browser/cocoa/bookmark_bar_controller.mm |
| @@ -28,6 +28,7 @@ |
| #include "chrome/browser/tab_contents/tab_contents_view.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/pref_service.h" |
| +#include "grit/app_resources.h" |
| #include "grit/generated_resources.h" |
| #include "grit/theme_resources.h" |
| #include "skia/ext/skia_utils_mac.h" |
| @@ -56,6 +57,7 @@ |
| - (void)addButtonsToView; |
| - (void)resizeButtons; |
| - (void)centerNoItemsLabel; |
| +- (NSImage*)getFavIconForNode:(const BookmarkNode*)node; |
|
pink (ping after 24hrs)
2009/11/03 19:42:44
the normal obj-c method naming conventions avoid t
|
| @end |
| @implementation BookmarkBarController |
| @@ -79,6 +81,7 @@ |
| ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| folderImage_.reset([rb.GetNSImageNamed(IDR_BOOKMARK_BAR_FOLDER) retain]); |
| + defaultImage_.reset([rb.GetNSImageNamed(IDR_DEFAULT_FAVICON) retain]); |
| } |
| return self; |
| } |
| @@ -357,6 +360,7 @@ |
| action:nil |
| keyEquivalent:@""] autorelease]; |
| [menu addItem:item]; |
| + [item setImage:[self getFavIconForNode:child]]; |
| if (child->is_folder()) { |
| NSMenu* submenu = [[[NSMenu alloc] initWithTitle:title] autorelease]; |
| [menu setSubmenu:submenu forItem:item]; |
| @@ -375,13 +379,6 @@ |
| base::SysWideToNSString(child->GetTitle()), |
| url_string.c_str()]; |
| [item setToolTip:tooltip]; |
| - const SkBitmap& favicon = bookmarkModel_->GetFavIcon(child); |
| - if (!favicon.isNull()) { |
| - NSImage* image = gfx::SkBitmapToNSImage(favicon); |
| - if (image) { |
| - [item setImage:image]; |
| - } |
| - } |
| } |
| } |
| @@ -595,19 +592,8 @@ |
| DCHECK(cell); |
| [cell setRepresentedObject:[NSValue valueWithPointer:node]]; |
| - NSImage* image = NULL; |
| - if (node->is_folder()) { |
| - image = folderImage_; |
| - } else { |
| - const SkBitmap& favicon = bookmarkModel_->GetFavIcon(node); |
| - if (!favicon.isNull()) { |
| - image = gfx::SkBitmapToNSImage(favicon); |
| - } |
| - } |
| - if (image) { |
| - [cell setImage:image]; |
| - [cell setImagePosition:NSImageLeft]; |
| - } |
| + [cell setImage:[self getFavIconForNode:node]]; |
| + [cell setImagePosition:NSImageLeft]; |
| [cell setTitle:title]; |
| [cell setMenu:buttonContextMenu_]; |
| return cell; |
| @@ -873,16 +859,12 @@ |
| void* pointer = [[cell representedObject] pointerValue]; |
| const BookmarkNode* cellnode = static_cast<const BookmarkNode*>(pointer); |
| if (cellnode == node) { |
| - NSImage* image = gfx::SkBitmapToNSImage(bookmarkModel_->GetFavIcon(node)); |
| - if (image) { |
| - [cell setImage:image]; |
| - [cell setImagePosition:NSImageLeft]; |
| - // Adding an image means we might need more room for the |
| - // bookmark. Test for it by growing the button (if needed) |
| - // and shifting everything else over. |
| - [self checkForBookmarkButtonGrowth:button]; |
| - } |
| - return; |
| + [cell setImage:[self getFavIconForNode:node]]; |
| + [cell setImagePosition:NSImageLeft]; |
| + // Adding an image means we might need more room for the |
| + // bookmark. Test for it by growing the button (if needed) |
| + // and shifting everything else over. |
| + [self checkForBookmarkButtonGrowth:button]; |
| } |
| } |
| } |
| @@ -909,4 +891,15 @@ |
| return otherBookmarksButton_.get(); |
| } |
| +- (NSImage*)getFavIconForNode:(const BookmarkNode*)node { |
| + if (node->is_folder()) |
| + return folderImage_; |
| + |
| + const SkBitmap& favIcon = bookmarkModel_->GetFavIcon(node); |
| + if (!favIcon.isNull()) |
| + return gfx::SkBitmapToNSImage(favIcon); |
| + |
| + return defaultImage_; |
| +} |
| + |
| @end |