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 2add75208da79b5be1e97a6c158bf9512c2874d9..4a6cfc4c2ee9127dfdc8f20aac7b4e4acd38c247 100644 |
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm |
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm |
@@ -46,6 +46,8 @@ |
if ((self = [super initTextCell:cellText])) { |
[self configureBookmarkButtonCell]; |
+ [self setTextColor:[NSColor redColor]]; |
+ |
[self setBookmarkNode:node]; |
if (node) { |
@@ -160,20 +162,25 @@ |
return menu; |
} |
-// Unfortunately, NSCell doesn't already have something like this. |
-// TODO(jrg): consider placing in GTM. |
-- (void)setTextColor:(NSColor*)color { |
+- (void)setTitle:(NSString*)title { |
+ if ([[self title] isEqualTo:title]) |
+ return; |
+ [super setTitle:title]; |
+ [self applyTextColor]; |
+} |
- // We can't properly set the cell's text color without a control. |
- // In theory we could just save the next for later and wait until |
- // the cell is moved to a control, but there is no obvious way to |
- // accomplish that (e.g. no "cellDidMoveToControl" notification.) |
- DCHECK([self controlView]); |
+- (void)setTextColor:(NSColor*)color { |
+ if ([textColor_ isEqualTo:color]) |
+ return; |
+ textColor_.reset([color copy]); |
+ [self applyTextColor]; |
+} |
+- (void)applyTextColor { |
scoped_nsobject<NSMutableParagraphStyle> style([NSMutableParagraphStyle new]); |
[style setAlignment:NSLeftTextAlignment]; |
NSDictionary* dict = [NSDictionary |
- dictionaryWithObjectsAndKeys:color, |
+ dictionaryWithObjectsAndKeys:textColor_, |
NSForegroundColorAttributeName, |
[self font], NSFontAttributeName, |
style.get(), NSParagraphStyleAttributeName, |
@@ -181,11 +188,7 @@ |
scoped_nsobject<NSAttributedString> ats([[NSAttributedString alloc] |
initWithString:[self title] |
attributes:dict]); |
- NSButton* button = static_cast<NSButton*>([self controlView]); |
- if (button) { |
- DCHECK([button isKindOfClass:[NSButton class]]); |
- [button setAttributedTitle:ats.get()]; |
- } |
+ [self setAttributedTitle:ats.get()]; |
} |
// To implement "hover open a bookmark button to open the folder" |