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..d1ad108685c2aa8cb11a011a3894e67686fb97ee 100644 |
--- a/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser/avatar_button_controller.mm |
@@ -140,17 +140,17 @@ const CGFloat kMenuYOffsetAdjust = 1.0; |
[self.buttonView setImage:[self compositeImageWithShadow:image]]; |
} |
-// Private ///////////////////////////////////////////////////////////////////// |
- |
-- (void)setOpenMenuOnClick:(BOOL)flag { |
- [self.buttonView setEnabled:flag]; |
-} |
- |
-- (IBAction)buttonClicked:(id)sender { |
- DCHECK_EQ(self.buttonView, sender); |
+- (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); |
@@ -168,7 +168,24 @@ const CGFloat kMenuYOffsetAdjust = 1.0; |
[menuController_ showWindow:self]; |
} |
+// Private ///////////////////////////////////////////////////////////////////// |
+ |
+- (void)setOpenMenuOnClick:(BOOL)flag { |
+ [self.buttonView setEnabled:flag]; |
+} |
+ |
+- (IBAction)buttonClicked:(id)sender { |
+ DCHECK_EQ(self.buttonView, sender); |
+ [self showAvatarBubble]; |
+} |
+ |
- (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; |
} |