diff options
author | justincohen <justincohen@chromium.org> | 2015-10-30 15:35:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-30 22:36:09 +0000 |
commit | af62fafc5f695c806ae5696d66f78643e082dc37 (patch) | |
tree | a564aca2b8221b8e0c43a433f68f0528e63ba509 /skia | |
parent | b0b964a41a65ed2aba81a412de59054fe0142c45 (diff) | |
download | chromium_src-af62fafc5f695c806ae5696d66f78643e082dc37.zip chromium_src-af62fafc5f695c806ae5696d66f78643e082dc37.tar.gz chromium_src-af62fafc5f695c806ae5696d66f78643e082dc37.tar.bz2 |
Add LargeIconCache and LargeIconServiceFactory for iOS.
Also adds a secondary cache that holds on to a reference to the favicon
RefCountedMemory because the LargeIconService returns icons too slowly
iOS new tab page animations.
BUG=543738
Review URL: https://codereview.chromium.org/1413903008
Cr-Commit-Position: refs/heads/master@{#357203}
Diffstat (limited to 'skia')
-rw-r--r-- | skia/ext/skia_utils_ios.h | 6 | ||||
-rw-r--r-- | skia/ext/skia_utils_ios.mm | 7 | ||||
-rw-r--r-- | skia/ext/skia_utils_ios_unittest.mm | 11 |
3 files changed, 24 insertions, 0 deletions
diff --git a/skia/ext/skia_utils_ios.h b/skia/ext/skia_utils_ios.h index 6a854ce..8e1ba9a 100644 --- a/skia/ext/skia_utils_ios.h +++ b/skia/ext/skia_utils_ios.h @@ -9,11 +9,14 @@ #include <vector> #include "third_party/skia/include/core/SkBitmap.h" +#include "third_party/skia/include/core/SkColor.h" #ifdef __OBJC__ +@class UIColor; @class UIImage; @class NSData; #else +class UIColor; class UIImage; class NSData; #endif @@ -35,6 +38,9 @@ SK_API UIImage* SkBitmapToUIImageWithColorSpace(const SkBitmap& skia_bitmap, // vector if none can be decoded. SK_API std::vector<SkBitmap> ImageDataToSkBitmaps(NSData* image_data); +// Returns a UIColor for an SKColor. Used by iOS downstream. +SK_API UIColor* UIColorFromSkColor(SkColor color); + } // namespace gfx #endif // SKIA_EXT_SKIA_UTILS_IOS_H_ diff --git a/skia/ext/skia_utils_ios.mm b/skia/ext/skia_utils_ios.mm index 5655d22..ec76cd5 100644 --- a/skia/ext/skia_utils_ios.mm +++ b/skia/ext/skia_utils_ios.mm @@ -123,4 +123,11 @@ std::vector<SkBitmap> ImageDataToSkBitmaps(NSData* image_data) { return frames; } +UIColor* UIColorFromSkColor(SkColor color) { + return [UIColor colorWithRed:SkColorGetR(color) / 255.0f + green:SkColorGetG(color) / 255.0f + blue:SkColorGetB(color) / 255.0f + alpha:SkColorGetA(color) / 255.0f]; +} + } // namespace gfx diff --git a/skia/ext/skia_utils_ios_unittest.mm b/skia/ext/skia_utils_ios_unittest.mm index 71f46a4e..0299472 100644 --- a/skia/ext/skia_utils_ios_unittest.mm +++ b/skia/ext/skia_utils_ios_unittest.mm @@ -749,5 +749,16 @@ TEST_F(SkiaUtilsIosTest, Image88x88OrLarger) { EXPECT_EQ(1UL, bitmaps.size()); } +TEST_F(SkiaUtilsIosTest, UIColorFromSkColor) { + SkColor color = SkColorSetARGB(50, 100, 150, 200); + UIColor* ios_color = gfx::UIColorFromSkColor(color); + CGFloat red, green, blue, alpha; + [ios_color getRed:&red green:&green blue:&blue alpha:&alpha]; + EXPECT_EQ(50, static_cast<int>(alpha * 255 + 0.5f)); + EXPECT_EQ(100, static_cast<int>(red * 255 + 0.5f)); + EXPECT_EQ(150, static_cast<int>(green * 255 + 0.5f)); + EXPECT_EQ(200, static_cast<int>(blue * 255 + 0.5f)); +} + } // namespace |