Index: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm |
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm |
index b81ca381f4a75fb17535ac423a8987b85f39a9be..10cafdb965e672bc513f5cea750ef2145e461005 100644 |
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm |
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm |
@@ -26,6 +26,8 @@ const NSUInteger kMaximumMenuPixelsWide = 300; |
@implementation BookmarkMenuCocoaController |
+@synthesize delegate = delegate_; |
+ |
+ (NSString*)menuTitleForNode:(const BookmarkNode*)node { |
NSFont* nsfont = [NSFont menuBarFontOfSize:0]; // 0 means "default" |
gfx::Font font(base::SysNSStringToUTF16([nsfont fontName]), |
@@ -74,11 +76,25 @@ const NSUInteger kMaximumMenuPixelsWide = 300; |
return [controller keyWindowIsNotModal]; |
} |
+// NSMenuDelegate ////////////////////////////////////////////////////////////// |
+ |
// NSMenu delegate method: called just before menu is displayed. |
- (void)menuNeedsUpdate:(NSMenu*)menu { |
bridge_->UpdateMenu(menu); |
} |
+- (void)menuWillOpen:(NSMenu*)menu { |
+ if ([delegate_ respondsToSelector:@selector(bookmarkMenuWillOpen:)]) |
+ [delegate_ bookmarkMenuWillOpen:self]; |
+} |
+ |
+- (void)menuDidClose:(NSMenu*)menu { |
+ if ([delegate_ respondsToSelector:@selector(bookmarkMenuDidClose:)]) |
+ [delegate_ bookmarkMenuDidClose:self]; |
+} |
+ |
+// Private ///////////////////////////////////////////////////////////////////// |
+ |
// Return the a BookmarkNode that has the given id (called |
// "identifier" here to avoid conflict with objc's concept of "id"). |
- (const BookmarkNode*)nodeForIdentifier:(int)identifier { |