| 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() {
 | 
| 
 |