diff options
-rw-r--r-- | base/nsimage_cache_mac.mm | 8 | ||||
-rw-r--r-- | chrome/browser/cocoa/nsimage_cache_unittest.mm | 10 | ||||
-rw-r--r-- | chrome/browser/cocoa/toolbar_controller.mm | 1 |
3 files changed, 17 insertions, 2 deletions
diff --git a/base/nsimage_cache_mac.mm b/base/nsimage_cache_mac.mm index 7ca05be..1ced7a2 100644 --- a/base/nsimage_cache_mac.mm +++ b/base/nsimage_cache_mac.mm @@ -42,8 +42,14 @@ NSImage* ImageNamed(NSString* name) { if (path) { @try { result = [[[NSImage alloc] initWithContentsOfFile:path] autorelease]; - if (result) + if (result) { + // Auto-template images with names ending in "Template". + NSString* extensionlessName = [name stringByDeletingPathExtension]; + if ([extensionlessName hasSuffix:@"Template"]) + [result setTemplate:YES]; + [image_cache setObject:result forKey:name]; + } } @catch (id err) { DLOG(ERROR) << "Failed to load the image for name '" diff --git a/chrome/browser/cocoa/nsimage_cache_unittest.mm b/chrome/browser/cocoa/nsimage_cache_unittest.mm index 03d1b5e..7fe42f8 100644 --- a/chrome/browser/cocoa/nsimage_cache_unittest.mm +++ b/chrome/browser/cocoa/nsimage_cache_unittest.mm @@ -56,4 +56,14 @@ TEST_F(NSImageCacheTest, LookupFoundAndClear) { << "how'd we get the same image after a cache clear?"; } +TEST_F(NSImageCacheTest, AutoTemplating) { + NSImage *templateImage = nsimage_cache::ImageNamed(@"back_Template.pdf"); + EXPECT_TRUE([templateImage isTemplate] == YES) + << "Image ending in 'Template' should be marked as being a template"; + NSImage *nonTemplateImage = nsimage_cache::ImageNamed(@"aliasCursor.png"); + EXPECT_FALSE([nonTemplateImage isTemplate] == YES) + << "Image not ending in 'Template' should not be marked as being a " + "template"; +} + } // namespace diff --git a/chrome/browser/cocoa/toolbar_controller.mm b/chrome/browser/cocoa/toolbar_controller.mm index e85f3a1..2910728 100644 --- a/chrome/browser/cocoa/toolbar_controller.mm +++ b/chrome/browser/cocoa/toolbar_controller.mm @@ -289,7 +289,6 @@ class PrefObserverBridge : public NotificationObserver { tag = IDC_STOP; } NSImage* stopStartImage = nsimage_cache::ImageNamed(imageName); - [stopStartImage setTemplate:YES]; [goButton_ setImage:stopStartImage]; [goButton_ setTag:tag]; } |