Index: chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
diff --git a/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm b/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
index 42192f6139c1618e8617628b54d5beda8c3c8a60..f92c1c734ffe0cafbc7a7b665575cd1e12f83919 100644 |
--- a/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
@@ -148,9 +148,20 @@ const CGFloat kMenuYOffsetAdjust = 1.0; |
- (IBAction)buttonClicked:(id)sender { |
DCHECK_EQ(self.buttonView, sender); |
+ [self showAvatarBubble]; |
+} |
+ |
+- (void)showAvatarBubble { |
if (menuController_) |
return; |
+ NSWindowController* wc = |
+ [browser_->window()->GetNativeHandle() windowController]; |
+ if ([wc isKindOfClass:[BrowserWindowController class]]) { |
+ [static_cast<BrowserWindowController*>(wc) |
+ lockBarVisibilityForOwner:self withAnimation:NO delay:NO]; |
+ } |
+ |
NSView* view = self.view; |
NSPoint point = NSMakePoint(NSMidX([view bounds]), |
NSMaxY([view bounds]) - kMenuYOffsetAdjust); |
@@ -169,6 +180,12 @@ const CGFloat kMenuYOffsetAdjust = 1.0; |
} |
- (void)bubbleWillClose:(NSNotification*)notif { |
+ NSWindowController* wc = |
+ [browser_->window()->GetNativeHandle() windowController]; |
+ if ([wc isKindOfClass:[BrowserWindowController class]]) { |
+ [static_cast<BrowserWindowController*>(wc) |
+ releaseBarVisibilityForOwner:self withAnimation:YES delay:NO]; |
+ } |
menuController_ = nil; |
} |