summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/nsimage_cache_mac.mm8
-rw-r--r--chrome/browser/cocoa/nsimage_cache_unittest.mm10
-rw-r--r--chrome/browser/cocoa/toolbar_controller.mm1
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];
}