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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm

Issue 11316127: Alternate NTP: Limit width of tab titles in recent tabs menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review comments Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/app/chrome_command_ids.h ('k') | chrome/browser/ui/cocoa/menu_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h" 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h"
6 6
7 #include "base/sys_string_conversions.h" 7 #include "base/sys_string_conversions.h"
8 #include "base/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU 8 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU
10 #import "chrome/browser/app_controller_mac.h" 9 #import "chrome/browser/app_controller_mac.h"
11 #include "chrome/browser/bookmarks/bookmark_model.h" 10 #include "chrome/browser/bookmarks/bookmark_model.h"
12 #include "chrome/browser/ui/bookmarks/bookmark_utils.h" 11 #include "chrome/browser/ui/bookmarks/bookmark_utils.h"
13 #include "chrome/browser/ui/browser.h" 12 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/browser_finder.h" 13 #include "chrome/browser/ui/browser_finder.h"
15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h" 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h"
16 #include "chrome/browser/ui/cocoa/event_utils.h" 15 #include "chrome/browser/ui/cocoa/event_utils.h"
16 #include "chrome/browser/ui/cocoa/menu_controller.h"
17 #include "content/public/browser/user_metrics.h" 17 #include "content/public/browser/user_metrics.h"
18 #include "ui/base/text/text_elider.h"
19 18
20 using content::OpenURLParams; 19 using content::OpenURLParams;
21 using content::Referrer; 20 using content::Referrer;
22 using content::UserMetricsAction; 21 using content::UserMetricsAction;
23 22
24 namespace { 23 namespace {
25 24
26 // Menus more than this many pixels wide will get trimmed 25 // Menus more than this many pixels wide will get trimmed
27 // TODO(jrg): ask UI dudes what a good value is. 26 // TODO(jrg): ask UI dudes what a good value is.
28 const NSUInteger kMaximumMenuPixelsWide = 300; 27 const NSUInteger kMaximumMenuPixelsWide = 300;
29 28
30 } 29 }
31 30
32 @implementation BookmarkMenuCocoaController 31 @implementation BookmarkMenuCocoaController
33 32
34 + (NSString*)menuTitleForNode:(const BookmarkNode*)node { 33 + (NSString*)menuTitleForNode:(const BookmarkNode*)node {
35 NSFont* nsfont = [NSFont menuBarFontOfSize:0]; // 0 means "default" 34 string16 title = [MenuController elideMenuTitle:node->GetTitle()
36 gfx::Font font(base::SysNSStringToUTF8([nsfont fontName]), 35 toWidth:kMaximumMenuPixelsWide];
37 static_cast<int>([nsfont pointSize]));
38 string16 title = ui::ElideText(node->GetTitle(),
39 font,
40 kMaximumMenuPixelsWide,
41 ui::ELIDE_AT_END);
42 return base::SysUTF16ToNSString(title); 36 return base::SysUTF16ToNSString(title);
43 } 37 }
44 38
45 + (NSString*)tooltipForNode:(const BookmarkNode*)node { 39 + (NSString*)tooltipForNode:(const BookmarkNode*)node {
46 NSString* title = base::SysUTF16ToNSString(node->GetTitle()); 40 NSString* title = base::SysUTF16ToNSString(node->GetTitle());
47 std::string url_string = node->url().possibly_invalid_spec(); 41 std::string url_string = node->url().possibly_invalid_spec();
48 NSString* url = [NSString stringWithUTF8String:url_string.c_str()]; 42 NSString* url = [NSString stringWithUTF8String:url_string.c_str()];
49 if ([title length] == 0) 43 if ([title length] == 0)
50 return url; 44 return url;
51 else if ([url length] == 0 || [url isEqualToString:title]) 45 else if ([url length] == 0 || [url isEqualToString:title])
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 149
156 - (IBAction)openAllBookmarksNewWindow:(id)sender { 150 - (IBAction)openAllBookmarksNewWindow:(id)sender {
157 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; 151 [self openAll:[sender tag] withDisposition:NEW_WINDOW];
158 } 152 }
159 153
160 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { 154 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender {
161 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; 155 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD];
162 } 156 }
163 157
164 @end // BookmarkMenuCocoaController 158 @end // BookmarkMenuCocoaController
OLDNEW
« no previous file with comments | « chrome/app/chrome_command_ids.h ('k') | chrome/browser/ui/cocoa/menu_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698