Index: chrome/browser/cocoa/status_bubble_mac.mm |
=================================================================== |
--- chrome/browser/cocoa/status_bubble_mac.mm (revision 21184) |
+++ chrome/browser/cocoa/status_bubble_mac.mm (working copy) |
@@ -56,11 +56,13 @@ |
- (NSFont*)font; |
@end |
-StatusBubbleMac::StatusBubbleMac(NSWindow* parent) |
+StatusBubbleMac::StatusBubbleMac(NSWindow* parent, id delegate) |
: parent_(parent), |
+ delegate_(delegate), |
window_(nil), |
status_text_(nil), |
- url_text_(nil) { |
+ url_text_(nil), |
+ is_download_shelf_visible_(false) { |
} |
StatusBubbleMac::~StatusBubbleMac() { |
@@ -180,16 +182,22 @@ |
offset_ = offset; |
window_frame.origin.y -= offset; |
- [window_ setFrame:window_frame display:YES]; |
} else { |
offset_ = 0; |
[[window_ contentView] setStyle:STYLE_STANDARD]; |
- [window_ setFrame:window_frame display:YES]; |
} |
+ |
+ // |delegate_| can be nil during unit tests. |
+ if (is_download_shelf_visible_) { |
+ if ([delegate_ respondsToSelector:@selector(verticalOffsetForStatusBubble)]) |
+ window_frame.origin.y += [delegate_ verticalOffsetForStatusBubble]; |
+ } |
+ |
+ [window_ setFrame:window_frame display:YES]; |
} |
void StatusBubbleMac::UpdateDownloadShelfVisibility(bool visible) { |
- NOTIMPLEMENTED(); |
+ is_download_shelf_visible_ = visible; |
} |
void StatusBubbleMac::Create() { |