summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 17:59:05 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 17:59:05 +0000
commitbbfb462b6f1d53e1dec51b125203a87170bbd382 (patch)
treec25b3517192ebabc93c4c03b32679f178f332f3d /ui
parentdbe60662784dc5b682847fa3293d88949d18ddc4 (diff)
downloadchromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.zip
chromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.tar.gz
chromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.tar.bz2
mac: Remove implicit conversion from ImageSkia to SkBitmap.
BUG=141146, 132327 Review URL: https://chromiumcodereview.appspot.com/10834382 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152592 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/gfx/image/image_skia.h2
-rw-r--r--ui/gfx/image/image_skia_unittest.cc2
-rw-r--r--ui/gfx/image/image_skia_util_mac.h8
-rw-r--r--ui/gfx/image/image_skia_util_mac.mm20
4 files changed, 29 insertions, 3 deletions
diff --git a/ui/gfx/image/image_skia.h b/ui/gfx/image/image_skia.h
index 7c729cb..259a71e 100644
--- a/ui/gfx/image/image_skia.h
+++ b/ui/gfx/image/image_skia.h
@@ -60,7 +60,7 @@ class UI_EXPORT ImageSkia {
// done.
ImageSkia& operator=(const SkBitmap& other);
-#if defined(OS_MACOSX) || defined(OS_WIN)
+#if defined(OS_WIN)
// Converts to gfx::ImageSkiaRep and SkBitmap.
// TODO(pkotwicz): This is temporary till conversion to gfx::ImageSkia is
// done.
diff --git a/ui/gfx/image/image_skia_unittest.cc b/ui/gfx/image/image_skia_unittest.cc
index 20d9d45..9967a2f0 100644
--- a/ui/gfx/image/image_skia_unittest.cc
+++ b/ui/gfx/image/image_skia_unittest.cc
@@ -188,7 +188,7 @@ TEST(ImageSkiaTest, GetBitmapFromEmpty) {
EXPECT_TRUE(bitmap->empty());
}
-#if defined(OS_MACOSX) || defined(OS_WIN)
+#if defined(OS_WIN)
TEST(ImageSkiaTest, OperatorBitmapFromSource) {
ImageSkia image_skia(new DynamicSource(Size(100, 200)), Size(100, 200));
// ImageSkia should use the source to create the bitmap.
diff --git a/ui/gfx/image/image_skia_util_mac.h b/ui/gfx/image/image_skia_util_mac.h
index 5ef61bc..1a4427d 100644
--- a/ui/gfx/image/image_skia_util_mac.h
+++ b/ui/gfx/image/image_skia_util_mac.h
@@ -5,10 +5,11 @@
#ifndef UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
#define UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
+#include <ApplicationServices/ApplicationServices.h>
+
#include "ui/base/ui_export.h"
#ifdef __LP64__
-#include <ApplicationServices/ApplicationServices.h>
typedef CGSize NSSize;
#else
typedef struct _NSSize NSSize;
@@ -37,6 +38,11 @@ UI_EXPORT gfx::ImageSkia ApplicationIconAtSize(int size);
// Converts to NSImage from ImageSkia.
UI_EXPORT NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia);
+// Converts to NSImage from given ImageSkia and a color space.
+UI_EXPORT NSImage* NSImageFromImageSkiaWithColorSpace(
+ const gfx::ImageSkia& image_skia,
+ CGColorSpaceRef color_space);
+
} // namespace gfx
#endif // UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
diff --git a/ui/gfx/image/image_skia_util_mac.mm b/ui/gfx/image/image_skia_util_mac.mm
index 7fc9053..3b36325 100644
--- a/ui/gfx/image/image_skia_util_mac.mm
+++ b/ui/gfx/image/image_skia_util_mac.mm
@@ -102,4 +102,24 @@ NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia) {
return [image.release() autorelease];
}
+NSImage* NSImageFromImageSkiaWithColorSpace(const gfx::ImageSkia& image_skia,
+ CGColorSpaceRef color_space) {
+ if (image_skia.empty())
+ return nil;
+
+ scoped_nsobject<NSImage> image([[NSImage alloc] init]);
+
+ const std::vector<gfx::ImageSkiaRep>& image_reps =
+ image_skia.GetRepresentations();
+ for (std::vector<gfx::ImageSkiaRep>::const_iterator it = image_reps.begin();
+ it != image_reps.end(); ++it) {
+ [image addRepresentation:
+ gfx::SkBitmapToNSBitmapImageRepWithColorSpace(it->sk_bitmap(),
+ color_space)];
+ }
+
+ [image setSize:NSMakeSize(image_skia.width(), image_skia.height())];
+ return [image.release() autorelease];
+}
+
} // namespace gfx