summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
authorchase@chromium.org <chase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 04:17:02 +0000
committerchase@chromium.org <chase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 04:17:02 +0000
commit695041b3034cdf4535481488883a584f33b7e14b (patch)
tree3fe57614d2bbb06aa947e4e45c9a025659b3b4cb /skia
parent257f2c3867e73ba7cfc9cc61700b243c86ad68b4 (diff)
downloadchromium_src-695041b3034cdf4535481488883a584f33b7e14b.zip
chromium_src-695041b3034cdf4535481488883a584f33b7e14b.tar.gz
chromium_src-695041b3034cdf4535481488883a584f33b7e14b.tar.bz2
Revert r76709 "Revert r71208 "Mac: Explicitly set the colorspace on SkBitmap -> CGImageRef ...""
There was no change to vm_rss_final_b in mac-release-10.5/intl2, so reverting this change. BUG=74775 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/6609013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76712 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia')
-rw-r--r--skia/ext/skia_utils_mac.h8
-rw-r--r--skia/ext/skia_utils_mac.mm12
2 files changed, 17 insertions, 3 deletions
diff --git a/skia/ext/skia_utils_mac.h b/skia/ext/skia_utils_mac.h
index 9a1636e..0551643 100644
--- a/skia/ext/skia_utils_mac.h
+++ b/skia/ext/skia_utils_mac.h
@@ -64,7 +64,13 @@ SkBitmap CGImageToSkBitmap(CGImageRef image);
// Draws an NSImage with a given size into a SkBitmap.
SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque);
-// Given an SkBitmap, return an autoreleased NSImage.
+// Given an SkBitmap and a color space, return an autoreleased NSImage.
+NSImage* SkBitmapToNSImageWithColorSpace(const SkBitmap& icon,
+ CGColorSpaceRef colorSpace);
+
+// Given an SkBitmap, return an autoreleased NSImage in the generic color space.
+// DEPRECATED, use SkBitmapToNSImageWithColorSpace() instead.
+// TODO(thakis): Remove this -- http://crbug.com/69432
NSImage* SkBitmapToNSImage(const SkBitmap& icon);
// Returns |[NSImage imageNamed:@"NSApplicationIcon"]| as SkBitmap.
diff --git a/skia/ext/skia_utils_mac.mm b/skia/ext/skia_utils_mac.mm
index f52709b..171d329 100644
--- a/skia/ext/skia_utils_mac.mm
+++ b/skia/ext/skia_utils_mac.mm
@@ -167,12 +167,14 @@ SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque) {
return bitmap;
}
-NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) {
+NSImage* SkBitmapToNSImageWithColorSpace(const SkBitmap& skiaBitmap,
+ CGColorSpaceRef colorSpace) {
if (skiaBitmap.isNull())
return nil;
// First convert SkBitmap to CGImageRef.
- CGImageRef cgimage = SkCreateCGImageRef(skiaBitmap);
+ CGImageRef cgimage =
+ SkCreateCGImageRefWithColorspace(skiaBitmap, colorSpace);
// Now convert to NSImage.
NSBitmapImageRep* bitmap = [[[NSBitmapImageRep alloc]
@@ -184,6 +186,12 @@ NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) {
return image;
}
+NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) {
+ base::mac::ScopedCFTypeRef<CGColorSpaceRef> colorSpace(
+ CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB));
+ return SkBitmapToNSImageWithColorSpace(skiaBitmap, colorSpace.get());
+}
+
SkBitmap AppplicationIconAtSize(int size) {
NSImage* image = [NSImage imageNamed:@"NSApplicationIcon"];
return NSImageToSkBitmap(image, NSMakeSize(size, size), /* is_opaque=*/true);