summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/gradient_button_cell.mm
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-02 21:46:47 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-02 21:46:47 +0000
commitcfd0b58808dcf60b03a2fa434b655f850087c5f4 (patch)
tree026ad375656d31efedf609a3877af2eb7a8bbd57 /chrome/browser/cocoa/gradient_button_cell.mm
parentc2def1c60e5809cf6f6171f980c56f2e4b48109e (diff)
downloadchromium_src-cfd0b58808dcf60b03a2fa434b655f850087c5f4.zip
chromium_src-cfd0b58808dcf60b03a2fa434b655f850087c5f4.tar.gz
chromium_src-cfd0b58808dcf60b03a2fa434b655f850087c5f4.tar.bz2
Aggressively cache theme image pattern colors.
BUG=http://crbug.com/37106 (I hope) TEST=no visible change, just faster Review URL: http://codereview.chromium.org/661396 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40439 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/gradient_button_cell.mm')
-rw-r--r--chrome/browser/cocoa/gradient_button_cell.mm16
1 files changed, 8 insertions, 8 deletions
diff --git a/chrome/browser/cocoa/gradient_button_cell.mm b/chrome/browser/cocoa/gradient_button_cell.mm
index ae4ab2b..c02d3c6 100644
--- a/chrome/browser/cocoa/gradient_button_cell.mm
+++ b/chrome/browser/cocoa/gradient_button_cell.mm
@@ -191,19 +191,20 @@ static const NSTimeInterval kAnimationHideDuration = 0.4;
// button background image, but the modest gradient used for themed buttons.
// To make things even more modest, scale the hover alpha down by 40 percent
// unless clicked.
- NSImage* backgroundImage;
+ NSColor* backgroundImageColor;
BOOL useThemeGradient;
if (isFlatButton) {
- backgroundImage = nil;
+ backgroundImageColor = nil;
useThemeGradient = YES;
if (!showClickedGradient)
hoverAlpha *= 0.6;
} else {
- backgroundImage =
+ backgroundImageColor =
themeProvider ?
- themeProvider->GetNSImageNamed(IDR_THEME_BUTTON_BACKGROUND, false) :
+ themeProvider->GetNSImageColorNamed(IDR_THEME_BUTTON_BACKGROUND,
+ false) :
nil;
- useThemeGradient = backgroundImage ? YES : NO;
+ useThemeGradient = backgroundImageColor ? YES : NO;
}
// The basic gradient shown inside; see above.
@@ -218,9 +219,8 @@ static const NSTimeInterval kAnimationHideDuration = 0.4;
// If we're drawing a background image, show that; else possibly show the
// clicked gradient.
- if (backgroundImage) {
- NSColor* patternColor = [NSColor colorWithPatternImage:backgroundImage];
- [patternColor set];
+ if (backgroundImageColor) {
+ [backgroundImageColor set];
// Set the phase to match window.
// TODO(avi) http://crbug.com/36485; base != window
NSRect trueRect = [controlView convertRectToBase:cellFrame];