summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h3
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm32
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm6
3 files changed, 19 insertions, 22 deletions
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
index b874014..79aee30 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
@@ -349,7 +349,8 @@ willAnimateFromState:(bookmarks::VisualState)oldState
// Or from a context menu over either the bar or a button.
- (IBAction)addPage:(id)sender;
- (IBAction)addFolder:(id)sender;
-
+// Make a relevant tooltip string for node.
+- (NSString*)tooltipForNode:(const BookmarkNode*)node;
@end
// Redirects from BookmarkBarBridge, the C++ object which glues us to
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
index 91a3ab5..24bfc90 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
@@ -1145,14 +1145,8 @@ void RecordAppLaunch(Profile* profile, GURL url) {
[item setTarget:self];
[item setAction:@selector(openBookmarkMenuItem:)];
[item setTag:[self menuTagFromNodeId:child->id()]];
- if (child->is_url()) {
- // Add a tooltip
- std::string url_string = child->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s",
- base::SysUTF16ToNSString(child->GetTitle()),
- url_string.c_str()];
- [item setToolTip:tooltip];
- }
+ if (child->is_url())
+ [item setToolTip:[self tooltipForNode:child]];
}
}
@@ -1232,6 +1226,18 @@ void RecordAppLaunch(Profile* profile, GURL url) {
}
}
+- (NSString*)tooltipForNode:(const BookmarkNode*)node {
+ NSString* title = base::SysUTF16ToNSString(node->GetTitle());
+ std::string url_string = node->GetURL().possibly_invalid_spec();
+ NSString* url = [NSString stringWithUTF8String:url_string.c_str()];
+ if ([title length] == 0)
+ return url;
+ else if ([url length] == 0 || [url isEqualToString:title])
+ return title;
+ else
+ return [NSString stringWithFormat:@"%@\n%@", title, url];
+}
+
- (BookmarkButton*)buttonForNode:(const BookmarkNode*)node
xOffset:(int*)xOffset {
BookmarkButtonCell* cell = [self cellForBookmarkNode:node];
@@ -1271,14 +1277,8 @@ void RecordAppLaunch(Profile* profile, GURL url) {
// Make the button do something
[button setTarget:self];
[button setAction:@selector(openBookmark:)];
- if (node->is_url()) {
- // Add a tooltip.
- NSString* title = base::SysUTF16ToNSString(node->GetTitle());
- std::string url_string = node->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s", title,
- url_string.c_str()];
- [button setToolTip:tooltip];
- }
+ if (node->is_url())
+ [button setToolTip:[self tooltipForNode:node]];
}
return [[button.get() retain] autorelease];
}
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
index 8e51c22..060ca67 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
@@ -389,11 +389,7 @@ struct LayoutMetrics {
[button setTarget:self];
[button setAction:@selector(openBookmark:)];
// Add a tooltip.
- NSString* title = base::SysUTF16ToNSString(node->GetTitle());
- std::string urlString = node->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s", title,
- urlString.c_str()];
- [button setToolTip:tooltip];
+ [button setToolTip:[barController_ tooltipForNode:node]];
[button setAcceptsTrackIn:YES];
}
} else {