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 540f787f5c79c4adc3ea5ca397df99b33668d8a5..274f508cdf03a2997908a804ddf4999f1604ded4 100644 |
--- a/cc/tiles/software_image_decode_cache_unittest.cc |
+++ b/cc/tiles/software_image_decode_cache_unittest.cc |
@@ -50,13 +50,20 @@ SkMatrix CreateMatrix(const SkSize& scale, bool is_decomposable) { |
return matrix; |
} |
+PaintImage::Id s_paint_image_id = PaintImage::GetNextId(); |
+ |
+PaintImage CreatePaintImage(sk_sp<SkImage> image) { |
+ return PaintImage(s_paint_image_id, image); |
+} |
+ |
TEST(SoftwareImageDecodeCacheTest, ImageKeyLowQuality) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
bool is_decomposable = true; |
SkFilterQuality qualities[] = {kNone_SkFilterQuality, kLow_SkFilterQuality}; |
for (auto quality : qualities) { |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
+ CreatePaintImage(image), |
+ SkIRect::MakeWH(image->width(), image->height()), quality, |
CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
DefaultColorSpace()); |
@@ -77,10 +84,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQuality) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -96,10 +103,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfEnlarging) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -115,10 +122,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfIdentity) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -136,8 +143,8 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kMedium_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -156,8 +163,8 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kMedium_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -175,10 +182,10 @@ TEST(SoftwareImageDecodeCacheTest, |
bool is_decomposable = false; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -194,10 +201,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_5Scale) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -213,10 +220,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_0cale) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -233,8 +240,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_75Scale) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -251,10 +258,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_5Scale) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -271,8 +278,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_49Scale) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -289,10 +296,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_1Scale) { |
bool is_decomposable = true; |
SkFilterQuality quality = kMedium_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -309,8 +316,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_01Scale) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -328,10 +335,10 @@ TEST(SoftwareImageDecodeCacheTest, |
bool is_decomposable = true; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -348,10 +355,10 @@ TEST(SoftwareImageDecodeCacheTest, |
bool is_decomposable = true; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -367,10 +374,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyDowscalesHighQuality) { |
bool is_decomposable = true; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -389,10 +396,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToMediumIfTooLarge) { |
// At least one dimension should scale down, so that medium quality doesn't |
// become low. |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -409,10 +416,10 @@ TEST(SoftwareImageDecodeCacheTest, |
bool is_decomposable = false; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -428,10 +435,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToLowIfIdentity) { |
bool is_decomposable = true; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -449,8 +456,8 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -469,8 +476,8 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -487,10 +494,10 @@ TEST(SoftwareImageDecodeCacheTest, OriginalDecodesAreEqual) { |
bool is_decomposable = true; |
SkFilterQuality quality = kLow_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable), |
+ DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
EXPECT_EQ(image->uniqueID(), key.image_id()); |
@@ -501,8 +508,8 @@ TEST(SoftwareImageDecodeCacheTest, OriginalDecodesAreEqual) { |
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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5), is_decomposable), |
DefaultColorSpace()); |
auto another_key = ImageDecodeCacheKey::FromDrawImage(another_draw_image); |
@@ -522,8 +529,9 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRect) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeXYWH(25, 35, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ CreatePaintImage(image), |
+ SkIRect::MakeXYWH(25, 35, image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -541,8 +549,9 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRectWithScale) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
DrawImage draw_image( |
- image, SkIRect::MakeXYWH(20, 30, image->width(), image->height()), |
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ CreatePaintImage(image), |
+ SkIRect::MakeXYWH(20, 30, image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image); |
@@ -560,10 +569,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) { |
bool is_decomposable = true; |
SkFilterQuality quality = kHigh_SkFilterQuality; |
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), |
- quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ 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); |
@@ -571,8 +580,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) { |
EXPECT_TRUE(task); |
DrawImage another_draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> another_task; |
need_unref = cache.GetTaskForImageAndRef( |
@@ -592,7 +601,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) { |
bool is_decomposable = true; |
DrawImage high_quality_draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
kHigh_SkFilterQuality, |
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
@@ -604,7 +613,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) { |
EXPECT_TRUE(high_quality_task); |
DrawImage low_quality_draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
kLow_SkFilterQuality, |
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
@@ -630,8 +639,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
DrawImage half_size_draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> half_size_task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -640,8 +649,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) { |
EXPECT_TRUE(half_size_task); |
DrawImage quarter_size_draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
- CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> quarter_size_task; |
need_unref = cache.GetTaskForImageAndRef(quarter_size_draw_image, |
@@ -665,8 +674,9 @@ 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), |
+ CreatePaintImage(first_image), |
+ SkIRect::MakeWH(first_image->width(), first_image->height()), quality, |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> first_task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -676,7 +686,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) { |
sk_sp<SkImage> second_image = CreateImage(100, 100); |
DrawImage second_draw_image( |
- second_image, |
+ CreatePaintImage(second_image), |
SkIRect::MakeWH(second_image->width(), second_image->height()), quality, |
CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable), |
DefaultColorSpace()); |
@@ -715,8 +725,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) { |
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); |
+ CreatePaintImage(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); |
@@ -724,8 +735,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) { |
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); |
+ CreatePaintImage(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); |
@@ -734,8 +746,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) { |
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); |
+ CreatePaintImage(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); |
@@ -757,10 +770,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyDecoded) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ 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); |
@@ -788,10 +801,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyPrerolled) { |
SkFilterQuality quality = kLow_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
draw_image, ImageDecodeCache::TracingInfo(), &task); |
@@ -826,10 +839,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageCanceledGetsNewTask) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ 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); |
@@ -870,10 +883,10 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ 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); |
@@ -913,10 +926,10 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDraw) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ 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); |
@@ -948,8 +961,9 @@ 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), |
+ CreatePaintImage(image), |
+ SkIRect::MakeXYWH(20, 30, image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -980,10 +994,10 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDrawAtRasterDecode) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -1006,10 +1020,10 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -1038,10 +1052,10 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -1084,10 +1098,10 @@ TEST(SoftwareImageDecodeCacheTest, |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
DecodedDrawImage decoded_draw_image = |
cache.GetDecodedImageForDraw(draw_image); |
@@ -1130,10 +1144,10 @@ TEST(SoftwareImageDecodeCacheTest, ZeroSizedImagesAreSkipped) { |
SkFilterQuality quality = kHigh_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.f, 0.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1155,8 +1169,9 @@ 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), |
+ CreatePaintImage(image), |
+ SkIRect::MakeXYWH(150, 150, image->width(), image->height()), quality, |
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
@@ -1178,10 +1193,10 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityFilterIsHandled) { |
SkFilterQuality quality = kLow_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1208,7 +1223,8 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityScaledSubrectIsHandled) { |
SkFilterQuality quality = kLow_SkFilterQuality; |
sk_sp<SkImage> image = CreateImage(100, 100); |
- DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
+ DrawImage draw_image(CreatePaintImage(image), |
+ SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
@@ -1239,7 +1255,8 @@ TEST(SoftwareImageDecodeCacheTest, NoneQualityScaledSubrectIsHandled) { |
SkFilterQuality quality = kNone_SkFilterQuality; |
sk_sp<SkImage> image = CreateImage(100, 100); |
- DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
+ DrawImage draw_image(CreatePaintImage(image), |
+ SkIRect::MakeXYWH(10, 10, 80, 80), quality, |
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
DefaultColorSpace()); |
@@ -1270,10 +1287,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt01_5ScaleIsHandled) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1303,10 +1320,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt1_0ScaleIsHandled) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1337,8 +1354,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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
@@ -1369,10 +1386,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_5ScaleIsHandled) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1403,8 +1420,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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
@@ -1435,10 +1452,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_1ScaleIsHandled) { |
SkFilterQuality quality = kMedium_SkFilterQuality; |
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), |
- DefaultColorSpace()); |
+ DrawImage draw_image( |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable), |
+ DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
bool need_unref = cache.GetTaskForImageAndRef( |
@@ -1469,8 +1486,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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
@@ -1502,8 +1519,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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.001f, 0.001f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |
@@ -1527,12 +1544,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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, 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), |
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()), |
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task_50; |
@@ -1581,7 +1598,8 @@ TEST(SoftwareImageDecodeCacheTest, ClearCache) { |
for (int i = 0; i < 10; ++i) { |
sk_sp<SkImage> image = CreateImage(100, 100); |
DrawImage draw_image( |
- image, SkIRect::MakeWH(image->width(), image->height()), quality, |
+ CreatePaintImage(image), |
+ SkIRect::MakeWH(image->width(), image->height()), quality, |
CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), |
DefaultColorSpace()); |
scoped_refptr<TileTask> task; |