diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-05 20:40:50 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-05 20:40:50 +0000 |
commit | 1821bdcf40d37a2a4bb6fe4b5a7fa83dd1aee86d (patch) | |
tree | 643ce0792fadfe868fd532e7bd86ebb47431d130 /chrome/browser/cocoa/bubble_view.mm | |
parent | 2fa4f8d4a0cb58d3e9c518d3c90a4e36479a6ff3 (diff) | |
download | chromium_src-1821bdcf40d37a2a4bb6fe4b5a7fa83dd1aee86d.zip chromium_src-1821bdcf40d37a2a4bb6fe4b5a7fa83dd1aee86d.tar.gz chromium_src-1821bdcf40d37a2a4bb6fe4b5a7fa83dd1aee86d.tar.bz2 |
Make sure we adjust the theme source for the status bubble when moving between windows.
BUG=http://crbug.com/37445
TEST=as in bug
Review URL: http://codereview.chromium.org/669185
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40771 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/bubble_view.mm')
-rw-r--r-- | chrome/browser/cocoa/bubble_view.mm | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/cocoa/bubble_view.mm b/chrome/browser/cocoa/bubble_view.mm index c612c6a..9c5f569 100644 --- a/chrome/browser/cocoa/bubble_view.mm +++ b/chrome/browser/cocoa/bubble_view.mm @@ -17,8 +17,8 @@ const float kWindowEdge = 0.7f; // Designated initializer. |provider| is the window from which we get the // current theme to draw text and backgrounds. If nil, the current window will -// be checked. Defaults to all corners being rounded. The caller needs to -// ensure |provider| can't go away as it will not be retained. +// be checked. The caller needs to ensure |provider| can't go away as it will +// not be retained. Defaults to all corners being rounded. - (id)initWithFrame:(NSRect)frame themeProvider:(NSWindow*)provider { if ((self = [super initWithFrame:frame])) { cornerFlags_ = kRoundedAllCorners; @@ -43,6 +43,13 @@ const float kWindowEdge = 0.7f; [self setNeedsDisplay:YES]; } +- (void)setThemeProvider:(NSWindow*)provider { + if (themeProvider_ == provider) + return; + themeProvider_ = provider; + [self setNeedsDisplay:YES]; +} + - (NSString*)content { return content_.get(); } @@ -67,7 +74,9 @@ const float kWindowEdge = 0.7f; float bottomRightRadius = cornerFlags_ & kRoundedBottomRightCorner ? kBubbleCornerRadius : 0; - ThemeProvider* themeProvider = [themeProvider_ themeProvider]; + ThemeProvider* themeProvider = + themeProvider_ ? [themeProvider_ themeProvider] : + [[self window] themeProvider]; // Background / Edge |