From 64954877e3e7fca9ffa936aee508ee338d78a293 Mon Sep 17 00:00:00 2001 From: "rohitrao@chromium.org" Date: Tue, 23 Oct 2012 23:40:06 +0000 Subject: Sets the proper device scale factor on iOS. iOS sets a single supported scale factor at runtime, either 100P or 200P depending on whether the device is hidpi. This CL also corrects some conversion methods that did not properly support 200P scale factors. BUG=None TEST=Image unittests all pass on hidpi devices. Review URL: https://chromiumcodereview.appspot.com/11233040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163725 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/gfx/image/image_unittest_util.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'ui/gfx/image/image_unittest_util.cc') diff --git a/ui/gfx/image/image_unittest_util.cc b/ui/gfx/image/image_unittest_util.cc index 3dd5b60..fc4b6cf 100644 --- a/ui/gfx/image/image_unittest_util.cc +++ b/ui/gfx/image/image_unittest_util.cc @@ -84,9 +84,20 @@ bool IsEmpty(const gfx::Image& image) { PlatformImage CreatePlatformImage() { const SkBitmap bitmap(CreateBitmap(25, 25)); #if defined(OS_IOS) + // iOS only supports one scale factor. + std::vector supported_scale_factors = + ui::GetSupportedScaleFactors(); + DCHECK_EQ(1U, supported_scale_factors.size()); + if (supported_scale_factors.size() < 1) + return nil; + + ui::ScaleFactor scale_factor = supported_scale_factors[0]; + float scale = ui::GetScaleFactorScale(scale_factor); + base::mac::ScopedCFTypeRef color_space( CGColorSpaceCreateDeviceRGB()); - UIImage* image = gfx::SkBitmapToUIImageWithColorSpace(bitmap, color_space); + UIImage* image = + gfx::SkBitmapToUIImageWithColorSpace(bitmap, scale, color_space); base::mac::NSObjectRetain(image); return image; #elif defined(OS_MACOSX) -- cgit v1.1