| Index: chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
|
| diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
|
| index 9ea3ec27efa1d77d4ed54e048f90c1d6c4b48803..49633f0bd6b195a831664ae4c67bc64576f946e2 100644
|
| --- a/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
|
| +++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
|
| @@ -31,23 +31,34 @@ const int kHierarchyButtonXMargin = 4;
|
| @synthesize drawFolderArrow = drawFolderArrow_;
|
|
|
| + (id)buttonCellForNode:(const BookmarkNode*)node
|
| - menuController:(BookmarkContextMenuCocoaController*)menuController
|
| - cellText:(NSString*)cellText
|
| - cellImage:(NSImage*)cellImage {
|
| + text:(NSString*)text
|
| + image:(NSImage*)image
|
| + menuController:(BookmarkContextMenuCocoaController*)menuController {
|
| id buttonCell =
|
| [[[BookmarkButtonCell alloc] initForNode:node
|
| - menuController:menuController
|
| - cellText:cellText
|
| - cellImage:cellImage]
|
| + text:text
|
| + image:image
|
| + menuController:menuController]
|
| + autorelease];
|
| + return buttonCell;
|
| +}
|
| +
|
| ++ (id)buttonCellWithText:(NSString*)text
|
| + image:(NSImage*)image
|
| + menuController:(BookmarkContextMenuCocoaController*)menuController {
|
| + id buttonCell =
|
| + [[[BookmarkButtonCell alloc] initWithText:text
|
| + image:image
|
| + menuController:menuController]
|
| autorelease];
|
| return buttonCell;
|
| }
|
|
|
| - (id)initForNode:(const BookmarkNode*)node
|
| - menuController:(BookmarkContextMenuCocoaController*)menuController
|
| - cellText:(NSString*)cellText
|
| - cellImage:(NSImage*)cellImage {
|
| - if ((self = [super initTextCell:cellText])) {
|
| + text:(NSString*)text
|
| + image:(NSImage*)image
|
| + menuController:(BookmarkContextMenuCocoaController*)menuController {
|
| + if ((self = [super initTextCell:text])) {
|
| menuController_ = menuController;
|
| [self configureBookmarkButtonCell];
|
| [self setTextColor:[NSColor blackColor]];
|
| @@ -55,7 +66,7 @@ const int kHierarchyButtonXMargin = 4;
|
|
|
| if (node) {
|
| NSString* title = base::SysUTF16ToNSString(node->GetTitle());
|
| - [self setBookmarkCellText:title image:cellImage];
|
| + [self setBookmarkCellText:title image:image];
|
| } else {
|
| [self setEmpty:YES];
|
| [self setBookmarkCellText:l10n_util::GetNSString(IDS_MENU_EMPTY_SUBMENU)
|
| @@ -66,11 +77,25 @@ const int kHierarchyButtonXMargin = 4;
|
| return self;
|
| }
|
|
|
| +- (id)initWithText:(NSString*)text
|
| + image:(NSImage*)image
|
| + menuController:(BookmarkContextMenuCocoaController*)menuController {
|
| + if ((self = [super initTextCell:text])) {
|
| + menuController_ = menuController;
|
| + [self configureBookmarkButtonCell];
|
| + [self setTextColor:[NSColor blackColor]];
|
| + [self setBookmarkNode:NULL];
|
| + [self setBookmarkCellText:text image:image];
|
| + // This is a custom button not attached to any node. It is no considered
|
| + // empty even if its bookmark node is NULL.
|
| + [self setEmpty:NO];
|
| + }
|
| +
|
| + return self;
|
| +}
|
| +
|
| - (id)initTextCell:(NSString*)string {
|
| - return [self initForNode:nil
|
| - menuController:nil
|
| - cellText:string
|
| - cellImage:nil];
|
| + return [self initForNode:nil text:string image:nil menuController:nil];
|
| }
|
|
|
| // Used by the off-the-side menu, the only case where a
|
| @@ -161,8 +186,12 @@ const int kHierarchyButtonXMargin = 4;
|
| if (empty_)
|
| return nil;
|
|
|
| + // If node is NULL, this is a custom button, the menu does not represent
|
| + // anything.
|
| const BookmarkNode* node = [self bookmarkNode];
|
| - if (node->parent() && node->parent()->type() == BookmarkNode::FOLDER) {
|
| +
|
| + if (node && node->parent() &&
|
| + node->parent()->type() == BookmarkNode::FOLDER) {
|
| content::RecordAction(UserMetricsAction("BookmarkBarFolder_CtxMenu"));
|
| } else {
|
| content::RecordAction(UserMetricsAction("BookmarkBar_CtxMenu"));
|
|
|