summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/status_bubble_mac.mm
diff options
context:
space:
mode:
authorpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-21 17:34:23 +0000
committerpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-21 17:34:23 +0000
commit9b032bfa866097c14d7dcd3a6552795ee4ea2b0f (patch)
tree2ad6260c64ef8730fc69952cde4d632ed9e363df /chrome/browser/cocoa/status_bubble_mac.mm
parent6a7374568948adc4a24c64539411b3b272e01231 (diff)
downloadchromium_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.mm18
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() {