Index: cc/tiles/software_image_decode_cache_unittest.cc |
diff --git a/cc/tiles/software_image_decode_cache_unittest.cc b/cc/tiles/software_image_decode_cache_unittest.cc |
index 2a8d15256308a453f50d3438e74dce0e979f1ae5..7d26359ba3d0dc6ea97825341cc56b07cc340dc6 100644 |
--- a/cc/tiles/software_image_decode_cache_unittest.cc |
+++ b/cc/tiles/software_image_decode_cache_unittest.cc |
@@ -13,6 +13,10 @@ |
namespace cc { |
namespace { |
+gfx::ColorSpace DefaultColorSpace() { |
+ return gfx::ColorSpace::CreateSRGB(); |
+} |
+ |
size_t kLockedMemoryLimitBytes = 128 * 1024 * 1024; |
class TestSoftwareImageDecodeCache : public SoftwareImageDecodeCache { |
public: |
@@ -21,12 +25,19 @@ class TestSoftwareImageDecodeCache : public SoftwareImageDecodeCache { |
kLockedMemoryLimitBytes) {} |
}; |
-sk_sp<SkImage> CreateImage(int width, int height) { |
+sk_sp<SkImage> CreateImageWithColorSpace(int width, |
+ int height, |
+ const gfx::ColorSpace& color_space) { |
SkBitmap bitmap; |
- bitmap.allocPixels(SkImageInfo::MakeN32Premul(width, height)); |
+ bitmap.allocPixels( |
+ SkImageInfo::MakeN32Premul(width, height, color_space.ToSkColorSpace())); |
return SkImage::MakeFromBitmap(bitmap); |
} |
+sk_sp<SkImage> CreateImage(int width, int height) { |
+ return CreateImageWithColorSpace(width, height, DefaultColorSpace()); |
+} |
+ |
SkMatrix CreateMatrix(const SkSize& scale, bool is_decomposable) { |
SkMatrix matrix; |
matrix.setScale(scale.width(), scale.height()); |
@@ -46,14 +57,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyLowQuality) { |
for (auto quality : qualities) { |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
// Since the original decode will be used, the locked_bytes is that of the |
// original image. |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
@@ -67,14 +79,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQuality) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -85,14 +98,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfEnlarging) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -103,14 +117,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfIdentity) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -122,14 +137,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -141,14 +157,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -160,14 +177,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -178,14 +196,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_5Scale) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(500, key.target_size().width()); |
EXPECT_EQ(200, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(500u * 200u * 4u, key.locked_bytes()); |
} |
@@ -196,14 +215,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_0cale) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(500, key.target_size().width()); |
EXPECT_EQ(200, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(500u * 200u * 4u, key.locked_bytes()); |
} |
@@ -214,14 +234,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_75Scale) { |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(500, key.target_size().width()); |
EXPECT_EQ(200, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(500u * 200u * 4u, key.locked_bytes()); |
} |
@@ -232,14 +253,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_5Scale) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(250, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(250u * 100u * 4u, key.locked_bytes()); |
} |
@@ -250,14 +272,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_49Scale) { |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(250, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(250u * 100u * 4u, key.locked_bytes()); |
} |
@@ -268,14 +291,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_1Scale) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(62, key.target_size().width()); |
EXPECT_EQ(25, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(62u * 25u * 4u, key.locked_bytes()); |
} |
@@ -286,14 +310,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_01Scale) { |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(7, key.target_size().width()); |
EXPECT_EQ(3, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(7u * 3u * 4u, key.locked_bytes()); |
} |
@@ -305,14 +330,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kMedium_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -324,14 +350,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kMedium_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(50, key.target_size().width()); |
EXPECT_EQ(50, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(50u * 50u * 4u, key.locked_bytes()); |
} |
@@ -342,14 +369,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyDowscalesHighQuality) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(quality, key.filter_quality()); |
EXPECT_EQ(250, key.target_size().width()); |
EXPECT_EQ(150, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(250u * 150u * 4u, key.locked_bytes()); |
} |
@@ -363,14 +391,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToMediumIfTooLarge) { |
// become low. |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kMedium_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(4555, key.target_size().width()); |
EXPECT_EQ(2048, key.target_size().height()); |
- EXPECT_FALSE(key.can_use_original_decode()); |
+ EXPECT_FALSE(key.can_use_original_size_decode()); |
EXPECT_EQ(4555u * 2048u * 4u, key.locked_bytes()); |
} |
@@ -382,14 +411,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -400,14 +430,15 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToLowIfIdentity) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -419,14 +450,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -438,14 +470,15 @@ TEST(SoftwareImageDecodeCacheTest, |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
} |
@@ -456,26 +489,28 @@ TEST(SoftwareImageDecodeCacheTest, OriginalDecodesAreEqual) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, key.filter_quality()); |
EXPECT_EQ(100, key.target_size().width()); |
EXPECT_EQ(100, key.target_size().height()); |
- EXPECT_TRUE(key.can_use_original_decode()); |
+ EXPECT_TRUE(key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes()); |
DrawImage another_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.5f, 1.5), is_decomposable), |
+ DefaultColorSpace()); |
auto another_key = ImageDecodeCacheKey::FromDrawImage(another_draw_image); |
EXPECT_EQ(image->uniqueID(), another_key.image_id()); |
EXPECT_EQ(kLow_SkFilterQuality, another_key.filter_quality()); |
EXPECT_EQ(100, another_key.target_size().width()); |
EXPECT_EQ(100, another_key.target_size().height()); |
- EXPECT_TRUE(another_key.can_use_original_decode()); |
+ EXPECT_TRUE(another_key.can_use_original_size_decode()); |
EXPECT_EQ(100u * 100u * 4u, another_key.locked_bytes()); |
EXPECT_TRUE(key == another_key); |
@@ -488,7 +523,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRect) { |
DrawImage draw_image( |
image, SkIRect::MakeXYWH(25, 35, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -506,7 +542,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRectWithScale) { |
DrawImage draw_image( |
image, SkIRect::MakeXYWH(20, 30, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -525,7 +562,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) { |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -534,7 +572,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) { |
DrawImage another_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> another_task; |
need_unref = cache.GetTaskForImageAndRef( |
another_draw_image, ImageDecodeCache::TracingInfo(), &another_task); |
@@ -555,7 +594,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) { |
DrawImage high_quality_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), |
kHigh_SkFilterQuality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> high_quality_task; |
bool need_unref = cache.GetTaskForImageAndRef(high_quality_draw_image, |
ImageDecodeCache::TracingInfo(), |
@@ -566,7 +606,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) { |
DrawImage low_quality_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), |
kLow_SkFilterQuality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> low_quality_task; |
need_unref = cache.GetTaskForImageAndRef(low_quality_draw_image, |
ImageDecodeCache::TracingInfo(), |
@@ -590,7 +631,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) { |
DrawImage half_size_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> half_size_task; |
bool need_unref = cache.GetTaskForImageAndRef( |
half_size_draw_image, ImageDecodeCache::TracingInfo(), &half_size_task); |
@@ -599,7 +641,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) { |
DrawImage quarter_size_draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> quarter_size_task; |
need_unref = cache.GetTaskForImageAndRef(quarter_size_draw_image, |
ImageDecodeCache::TracingInfo(), |
@@ -623,7 +666,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) { |
sk_sp<SkImage> first_image = CreateImage(100, 100); |
DrawImage first_draw_image( |
first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), |
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> first_task; |
bool need_unref = cache.GetTaskForImageAndRef( |
first_draw_image, ImageDecodeCache::TracingInfo(), &first_task); |
@@ -634,7 +678,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) { |
DrawImage second_draw_image( |
second_image, |
SkIRect::MakeWH(second_image->width(), second_image->height()), quality, |
- CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> second_task; |
need_unref = cache.GetTaskForImageAndRef( |
second_draw_image, ImageDecodeCache::TracingInfo(), &second_task); |
@@ -649,6 +694,55 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) { |
cache.UnrefImage(second_draw_image); |
} |
+TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentColorSpace) { |
+ TestSoftwareImageDecodeCache cache; |
+ bool is_decomposable = true; |
+ SkFilterQuality quality = kHigh_SkFilterQuality; |
+ |
+ gfx::ColorSpace color_space_a(gfx::ColorSpace::PrimaryID::XYZ_D50, |
+ gfx::ColorSpace::TransferID::IEC61966_2_1); |
+ gfx::ColorSpace color_space_b(gfx::ColorSpace::PrimaryID::SMPTE170M, |
+ gfx::ColorSpace::TransferID::IEC61966_2_1); |
+ gfx::ColorSpace color_space_c = gfx::ColorSpace::CreateSRGB(); |
+ |
+ sk_sp<SkImage> image = CreateImageWithColorSpace(100, 100, color_space_a); |
+ DrawImage first_draw_image( |
+ image, SkIRect::MakeWH(image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_b); |
+ scoped_refptr<TileTask> first_task; |
+ bool need_unref = cache.GetTaskForImageAndRef( |
+ first_draw_image, ImageDecodeCache::TracingInfo(), &first_task); |
+ EXPECT_TRUE(need_unref); |
+ EXPECT_TRUE(first_task); |
+ |
+ DrawImage second_draw_image( |
+ image, SkIRect::MakeWH(image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_c); |
+ scoped_refptr<TileTask> second_task; |
+ need_unref = cache.GetTaskForImageAndRef( |
+ second_draw_image, ImageDecodeCache::TracingInfo(), &second_task); |
+ EXPECT_TRUE(need_unref); |
+ EXPECT_TRUE(second_task); |
+ EXPECT_TRUE(first_task.get() != second_task.get()); |
+ |
+ DrawImage third_draw_image( |
+ image, SkIRect::MakeWH(image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_b); |
+ scoped_refptr<TileTask> third_task; |
+ need_unref = cache.GetTaskForImageAndRef( |
+ third_draw_image, ImageDecodeCache::TracingInfo(), &third_task); |
+ EXPECT_TRUE(need_unref); |
+ EXPECT_TRUE(third_task); |
+ EXPECT_TRUE(first_task.get() == third_task.get()); |
+ |
+ TestTileTaskRunner::ProcessTask(first_task.get()); |
+ TestTileTaskRunner::ProcessTask(second_task.get()); |
+ |
+ cache.UnrefImage(first_draw_image); |
+ cache.UnrefImage(second_draw_image); |
+ cache.UnrefImage(third_draw_image); |
+} |
+ |
TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyDecoded) { |
TestSoftwareImageDecodeCache cache; |
bool is_decomposable = true; |
@@ -657,7 +751,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyDecoded) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -687,7 +782,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyPrerolled) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -724,7 +820,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageCanceledGetsNewTask) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -767,7 +864,8 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -809,7 +907,8 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDraw) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -842,7 +941,8 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image( |
image, SkIRect::MakeXYWH(20, 30, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -874,7 +974,8 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDrawAtRasterDecode) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -899,7 +1000,8 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -930,7 +1032,8 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -975,7 +1078,8 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -1020,7 +1124,8 @@ TEST(SoftwareImageDecodeCacheTest, ZeroSizedImagesAreSkipped) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.f, 0.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.f, 0.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1043,7 +1148,8 @@ TEST(SoftwareImageDecodeCacheTest, NonOverlappingSrcRectImagesAreSkipped) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image( |
image, SkIRect::MakeXYWH(150, 150, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1066,7 +1172,8 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityFilterIsHandled) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1094,7 +1201,8 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityScaledSubrectIsHandled) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1124,7 +1232,8 @@ TEST(SoftwareImageDecodeCacheTest, NoneQualityScaledSubrectIsHandled) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1155,7 +1264,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt01_5ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1187,7 +1297,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt1_0ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1219,7 +1330,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_75ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1251,7 +1363,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_5ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1283,7 +1396,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_49ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1315,7 +1429,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_1ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
quality, |
- CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1347,7 +1462,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_01ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1379,7 +1495,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_001ScaleIsHandled) { |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.001f, 0.001f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.001f, 0.001f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1403,10 +1520,12 @@ TEST(SoftwareImageDecodeCacheTest, |
sk_sp<SkImage> image = CreateImage(500, 200); |
DrawImage draw_image_50( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DrawImage draw_image_49( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task_50; |
bool need_unref_50 = cache.GetTaskForImageAndRef( |
@@ -1455,7 +1574,8 @@ TEST(SoftwareImageDecodeCacheTest, ClearCache) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image( |
image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable)); |
+ CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |