diff options
author | paul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-21 17:34:23 +0000 |
---|---|---|
committer | paul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-21 17:34:23 +0000 |
commit | 9b032bfa866097c14d7dcd3a6552795ee4ea2b0f (patch) | |
tree | 2ad6260c64ef8730fc69952cde4d632ed9e363df /chrome/browser/cocoa/status_bubble_mac.mm | |
parent | 6a7374568948adc4a24c64539411b3b272e01231 (diff) | |
download | chromium_src-9b032bfa866097c14d7dcd3a6552795ee4ea2b0f.zip chromium_src-9b032bfa866097c14d7dcd3a6552795ee4ea2b0f.tar.gz chromium_src-9b032bfa866097c14d7dcd3a6552795ee4ea2b0f.tar.bz2 |
Fix for the URL status bubble overlapping the download shelf.
BUG=14662 (http://crbug.com/14662)
TEST=Download something so that the shelf is visible and make sure
that hovering over links on the page produce a status bubble
above the download shelf.
Review URL: http://codereview.chromium.org/155706
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21185 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/status_bubble_mac.mm')
-rw-r--r-- | chrome/browser/cocoa/status_bubble_mac.mm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/chrome/browser/cocoa/status_bubble_mac.mm b/chrome/browser/cocoa/status_bubble_mac.mm index 160b086..67b920b 100644 --- a/chrome/browser/cocoa/status_bubble_mac.mm +++ b/chrome/browser/cocoa/status_bubble_mac.mm @@ -56,11 +56,13 @@ enum BubbleStyle { - (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 @@ void StatusBubbleMac::MouseMoved() { 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() { |