summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 18:23:27 +0000
committermirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 18:23:27 +0000
commit5c4683c949eece2a6c96f5731849dcf1ca198eb7 (patch)
tree7bc135d0520f36d6f9089a4230837e5c539d4fdb /chrome
parentcf0441f86f05ffeedad8b9458e7bde2c9dc21968 (diff)
downloadchromium_src-5c4683c949eece2a6c96f5731849dcf1ca198eb7.zip
chromium_src-5c4683c949eece2a6c96f5731849dcf1ca198eb7.tar.gz
chromium_src-5c4683c949eece2a6c96f5731849dcf1ca198eb7.tar.bz2
This fixes the Mac regression in the startup perf tests by removing the
HasCustomImage check from GetNSImageNamed. The source of the problem was that HCI was throwing off "nil" for inactive images (which is correct, as they don't appear in a theme's original image pack), and therefore ignoring the already created inactive frames, thus creating them twice. BUG= 34775 TEST= Mac startup regression goes away from perf bots. Review URL: http://codereview.chromium.org/608023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39240 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser_theme_provider_mac.mm3
-rw-r--r--chrome/browser/cocoa/browser_theme_provider_init.mm55
2 files changed, 30 insertions, 28 deletions
diff --git a/chrome/browser/browser_theme_provider_mac.mm b/chrome/browser/browser_theme_provider_mac.mm
index ec3d4a8..2f8c749 100644
--- a/chrome/browser/browser_theme_provider_mac.mm
+++ b/chrome/browser/browser_theme_provider_mac.mm
@@ -28,9 +28,6 @@ void HSLToHSB(const color_utils::HSL& hsl, CGFloat* h, CGFloat* s, CGFloat* b) {
NSImage* BrowserThemeProvider::GetNSImageNamed(int id) const {
DCHECK(CalledOnValidThread());
- if (!HasCustomImage(id))
- return nil;
-
// Check to see if we already have the image in the cache.
NSImageMap::const_iterator nsimage_iter = nsimage_cache_.find(id);
if (nsimage_iter != nsimage_cache_.end())
diff --git a/chrome/browser/cocoa/browser_theme_provider_init.mm b/chrome/browser/cocoa/browser_theme_provider_init.mm
index baf5226..391d378 100644
--- a/chrome/browser/cocoa/browser_theme_provider_init.mm
+++ b/chrome/browser/cocoa/browser_theme_provider_init.mm
@@ -61,14 +61,20 @@
return theme;
}
- NSImage* frameImage = provider->GetNSImageNamed(IDR_THEME_FRAME);
- NSImage* frameInactiveImage =
- provider->GetNSImageNamed(IDR_THEME_FRAME_INACTIVE);
-
- [theme setValue:frameImage
- forAttribute:@"backgroundImage"
- style:GTMThemeStyleWindow
- state:GTMThemeStateActiveWindow];
+ NSImage* frameImage = provider->HasCustomImage(IDR_THEME_FRAME) ?
+ provider->GetNSImageNamed(IDR_THEME_FRAME) : nil;
+ if (frameImage) {
+ NSImage* frameInactiveImage =
+ provider->GetNSImageNamed(IDR_THEME_FRAME_INACTIVE);
+ [theme setValue:frameImage
+ forAttribute:@"backgroundImage"
+ style:GTMThemeStyleWindow
+ state:GTMThemeStateActiveWindow];
+ [theme setValue:frameInactiveImage
+ forAttribute:@"backgroundImage"
+ style:GTMThemeStyleWindow
+ state:0];
+ }
NSColor* tabTextColor =
provider->GetNSColor(BrowserThemeProvider::COLOR_TAB_TEXT);
@@ -91,25 +97,24 @@
style:GTMThemeStyleBookmarksBarButton
state:GTMThemeStateActiveWindow];
- [theme setValue:frameInactiveImage
- forAttribute:@"backgroundImage"
- style:GTMThemeStyleWindow
- state:0];
- NSImage* toolbarImage = provider->GetNSImageNamed(IDR_THEME_TOOLBAR);
+ NSImage* toolbarImage = provider->HasCustomImage(IDR_THEME_TOOLBAR) ?
+ provider->GetNSImageNamed(IDR_THEME_TOOLBAR) : nil;
[theme setValue:toolbarImage
forAttribute:@"backgroundImage"
style:GTMThemeStyleToolBar
state:GTMThemeStateActiveWindow];
NSImage* toolbarBackgroundImage =
- provider->GetNSImageNamed(IDR_THEME_TAB_BACKGROUND);
+ provider->HasCustomImage(IDR_THEME_TAB_BACKGROUND) ?
+ provider->GetNSImageNamed(IDR_THEME_TAB_BACKGROUND) : nil;
[theme setValue:toolbarBackgroundImage
forAttribute:@"backgroundImage"
style:GTMThemeStyleTabBarDeselected
state:GTMThemeStateActiveWindow];
NSImage* toolbarButtonImage =
- provider->GetNSImageNamed(IDR_THEME_BUTTON_BACKGROUND);
+ provider->HasCustomImage(IDR_THEME_BUTTON_BACKGROUND) ?
+ provider->GetNSImageNamed(IDR_THEME_BUTTON_BACKGROUND) : nil;
if (toolbarButtonImage) {
[theme setValue:toolbarButtonImage
forAttribute:@"backgroundImage"
@@ -154,21 +159,21 @@
state:GTMThemeStateActiveWindow];
NSImage* frameOverlayImage =
- provider->GetNSImageNamed(IDR_THEME_FRAME_OVERLAY);
+ provider->HasCustomImage(IDR_THEME_FRAME_OVERLAY) ?
+ provider->GetNSImageNamed(IDR_THEME_FRAME_OVERLAY) : nil;
if (frameOverlayImage) {
[theme setValue:frameOverlayImage
forAttribute:@"overlay"
style:GTMThemeStyleWindow
state:GTMThemeStateActiveWindow];
- }
-
- NSImage* frameOverlayInactiveImage =
- provider->GetNSImageNamed(IDR_THEME_FRAME_OVERLAY_INACTIVE);
- if (frameOverlayInactiveImage) {
- [theme setValue:frameOverlayInactiveImage
- forAttribute:@"overlay"
- style:GTMThemeStyleWindow
- state:GTMThemeStateInactiveWindow];
+ NSImage* frameOverlayInactiveImage =
+ provider->GetNSImageNamed(IDR_THEME_FRAME_OVERLAY_INACTIVE);
+ if (frameOverlayInactiveImage) {
+ [theme setValue:frameOverlayInactiveImage
+ forAttribute:@"overlay"
+ style:GTMThemeStyleWindow
+ state:GTMThemeStateInactiveWindow];
+ }
}
return theme;