diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 21:02:36 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-08 21:02:36 +0000 |
commit | 34f8fee20dd1c07adcb4960310dd1f387d7b7bf3 (patch) | |
tree | 4d69c8742f0bc52889f19dd8fc7f14dbe86947b1 /chrome/browser/cocoa/status_bubble_mac.mm | |
parent | 9ab71d1832cb2651d60769aa263f5fc086a0b6be (diff) | |
download | chromium_src-34f8fee20dd1c07adcb4960310dd1f387d7b7bf3.zip chromium_src-34f8fee20dd1c07adcb4960310dd1f387d7b7bf3.tar.gz chromium_src-34f8fee20dd1c07adcb4960310dd1f387d7b7bf3.tar.bz2 |
Mac: Resize status bubble when window is resized.
BUG=22956
TEST=Load a (slow-loading) web site so that a status bubble will appear and be visible for a while. While the status bubble is visible, resize the window. The status bubble should move and/or resize appropriately.
Review URL: http://codereview.chromium.org/266018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28448 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 | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/chrome/browser/cocoa/status_bubble_mac.mm b/chrome/browser/cocoa/status_bubble_mac.mm index 7b592c6..3eef461 100644 --- a/chrome/browser/cocoa/status_bubble_mac.mm +++ b/chrome/browser/cocoa/status_bubble_mac.mm @@ -182,11 +182,8 @@ void StatusBubbleMac::Create() { if (window_) return; - NSRect rect = [parent_ frame]; - rect.size.height = kWindowHeight; - rect.size.width = static_cast<int>(kWindowWidthPercent * rect.size.width); // TODO(avi):fix this for RTL - window_ = [[NSWindow alloc] initWithContentRect:rect + window_ = [[NSWindow alloc] initWithContentRect:CalculateWindowFrame() styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]; @@ -227,3 +224,18 @@ void StatusBubbleMac::FadeOut() { [NSAnimationContext endGrouping]; } +void StatusBubbleMac::UpdateSizeAndPosition() { + if (!window_) + return; + + [window_ setFrame:CalculateWindowFrame() display:YES]; +} + +NSRect StatusBubbleMac::CalculateWindowFrame() { + DCHECK(parent_); + + NSRect rect = [parent_ frame]; + rect.size.height = kWindowHeight; + rect.size.width = static_cast<int>(kWindowWidthPercent * rect.size.width); + return rect; +} |