diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-02 21:46:47 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-02 21:46:47 +0000 |
commit | cfd0b58808dcf60b03a2fa434b655f850087c5f4 (patch) | |
tree | 026ad375656d31efedf609a3877af2eb7a8bbd57 /chrome/browser/cocoa/gradient_button_cell.mm | |
parent | c2def1c60e5809cf6f6171f980c56f2e4b48109e (diff) | |
download | chromium_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.mm | 16 |
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]; |