| Index: chrome/browser/ui/cocoa/infobars/infobar_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/infobars/infobar_controller.mm b/chrome/browser/ui/cocoa/infobars/infobar_controller.mm
|
| index aaa1cdc830c19e5c5d0b080d9cd969911f4e2d0f..f5a5cfca7ccc6935806c11a2fd663d95bbf20b3e 100644
|
| --- a/chrome/browser/ui/cocoa/infobars/infobar_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/infobars/infobar_controller.mm
|
| @@ -11,11 +11,13 @@
|
| #include "chrome/browser/tab_contents/link_infobar_delegate.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| #import "chrome/browser/ui/cocoa/animatable_view.h"
|
| +#import "chrome/browser/ui/cocoa/browser_window_controller.h"
|
| #include "chrome/browser/ui/cocoa/event_utils.h"
|
| #include "chrome/browser/ui/cocoa/infobars/infobar.h"
|
| #import "chrome/browser/ui/cocoa/infobars/infobar_container_controller.h"
|
| #import "chrome/browser/ui/cocoa/infobars/infobar_controller.h"
|
| #import "chrome/browser/ui/cocoa/infobars/infobar_gradient_view.h"
|
| +#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
|
| #include "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h"
|
| #include "ui/gfx/image/image.h"
|
| #include "webkit/glue/window_open_disposition.h"
|
| @@ -94,6 +96,10 @@ const float kAnimateCloseDuration = 0.12;
|
| - (void)setLabelToMessage:(NSString*)message
|
| withLink:(NSString*)link
|
| atOffset:(NSUInteger)linkOffset;
|
| +
|
| +// Returns the point, in gradient view coordinates, at which the apex of the
|
| +// infobar tip should be drawn.
|
| +- (NSPoint)pointForTipApex;
|
| @end
|
|
|
| @implementation InfoBarController
|
| @@ -132,6 +138,7 @@ const float kAnimateCloseDuration = 0.12;
|
|
|
| [self addAdditionalControls];
|
|
|
| + infoBarView_.tipApex = [self pointForTipApex];
|
| [infoBarView_ setInfobarType:delegate_->GetInfoBarType()];
|
| }
|
|
|
| @@ -353,6 +360,20 @@ const float kAnimateCloseDuration = 0.12;
|
| [[label_.get() textStorage] setAttributedString:infoText];
|
| }
|
|
|
| +- (NSPoint)pointForTipApex {
|
| + BrowserWindowController* windowController =
|
| + [containerController_ browserWindowController];
|
| + if (!windowController) {
|
| + // This should only happen in unit tests.
|
| + return NSZeroPoint;
|
| + }
|
| +
|
| + LocationBarViewMac* locationBar = [windowController locationBarBridge];
|
| + NSPoint point = locationBar->GetPageInfoBubblePoint();
|
| + point = [infoBarView_ convertPoint:point fromView:nil];
|
| + return point;
|
| +}
|
| +
|
| @end
|
|
|
|
|
|
|