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

Unified Diff: chrome/browser/cocoa/bookmark_bar_controller.mm

Issue 339087: Mac: correct favicons in bookmarks bar (for pages w/o one and for subfolders). (Closed)
Patch Set: Updated per Nico's review and merged ToT. Created 11 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/bookmark_bar_controller.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/cocoa/bookmark_bar_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698