Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Unified Diff: cc/playback/discardable_image_map_unittest.cc

Issue 2496283004: cc: Build Image to Region map during image meta-data generation. (Closed)
Patch Set: Fix Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/playback/discardable_image_map.cc ('k') | cc/playback/display_item_list.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/playback/discardable_image_map_unittest.cc
diff --git a/cc/playback/discardable_image_map_unittest.cc b/cc/playback/discardable_image_map_unittest.cc
index 1dfdb3a1b5fe44d22aa226fae9ab5e6903ebe62b..06da1b1400d59d705c8b9ade8ac3194fa6a9fba4 100644
--- a/cc/playback/discardable_image_map_unittest.cc
+++ b/cc/playback/discardable_image_map_unittest.cc
@@ -108,6 +108,8 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectTest) {
<< y;
EXPECT_EQ(gfx::Rect(x * 512 + 6, y * 512 + 6, 500, 500),
images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
} else {
EXPECT_EQ(0u, images.size()) << x << " " << y;
}
@@ -118,16 +120,28 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectTest) {
std::vector<PositionDrawImage> images =
GetDiscardableImagesInRect(image_map, gfx::Rect(512, 512, 2048, 2048));
EXPECT_EQ(4u, images.size());
+
EXPECT_TRUE(images[0].image == discardable_image[1][2]);
EXPECT_EQ(gfx::Rect(2 * 512 + 6, 512 + 6, 500, 500), images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
+
EXPECT_TRUE(images[1].image == discardable_image[2][1]);
EXPECT_EQ(gfx::Rect(512 + 6, 2 * 512 + 6, 500, 500), images[1].image_rect);
+ EXPECT_EQ(Region(images[1].image_rect),
+ image_map.GetRegionForImage(images[1].image->uniqueID()));
+
EXPECT_TRUE(images[2].image == discardable_image[2][3]);
EXPECT_EQ(gfx::Rect(3 * 512 + 6, 2 * 512 + 6, 500, 500),
images[2].image_rect);
+ EXPECT_EQ(Region(images[2].image_rect),
+ image_map.GetRegionForImage(images[2].image->uniqueID()));
+
EXPECT_TRUE(images[3].image == discardable_image[3][2]);
EXPECT_EQ(gfx::Rect(2 * 512 + 6, 3 * 512 + 6, 500, 500),
images[3].image_rect);
+ EXPECT_EQ(Region(images[3].image_rect),
+ image_map.GetRegionForImage(images[3].image->uniqueID()));
}
TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectNonZeroLayer) {
@@ -181,6 +195,8 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectNonZeroLayer) {
<< y;
EXPECT_EQ(gfx::Rect(1024 + x * 512 + 6, y * 512 + 6, 500, 500),
images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
} else {
EXPECT_EQ(0u, images.size()) << x << " " << y;
}
@@ -191,18 +207,30 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectNonZeroLayer) {
std::vector<PositionDrawImage> images = GetDiscardableImagesInRect(
image_map, gfx::Rect(1024 + 512, 512, 2048, 2048));
EXPECT_EQ(4u, images.size());
+
EXPECT_TRUE(images[0].image == discardable_image[1][2]);
EXPECT_EQ(gfx::Rect(1024 + 2 * 512 + 6, 512 + 6, 500, 500),
images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
+
EXPECT_TRUE(images[1].image == discardable_image[2][1]);
EXPECT_EQ(gfx::Rect(1024 + 512 + 6, 2 * 512 + 6, 500, 500),
images[1].image_rect);
+ EXPECT_EQ(Region(images[1].image_rect),
+ image_map.GetRegionForImage(images[1].image->uniqueID()));
+
EXPECT_TRUE(images[2].image == discardable_image[2][3]);
EXPECT_EQ(gfx::Rect(1024 + 3 * 512 + 6, 2 * 512 + 6, 500, 500),
images[2].image_rect);
+ EXPECT_EQ(Region(images[2].image_rect),
+ image_map.GetRegionForImage(images[2].image->uniqueID()));
+
EXPECT_TRUE(images[3].image == discardable_image[3][2]);
EXPECT_EQ(gfx::Rect(1024 + 2 * 512 + 6, 3 * 512 + 6, 500, 500),
images[3].image_rect);
+ EXPECT_EQ(Region(images[3].image_rect),
+ image_map.GetRegionForImage(images[3].image->uniqueID()));
}
// Non intersecting rects
@@ -226,6 +254,12 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectNonZeroLayer) {
image_map, gfx::Rect(3500, 1100, 1000, 1000));
EXPECT_EQ(0u, images.size());
}
+
+ // Image not present in the list.
+ {
+ sk_sp<SkImage> image = CreateDiscardableImage(gfx::Size(500, 500));
+ EXPECT_EQ(Region(), image_map.GetRegionForImage(image->uniqueID()));
+ }
}
TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectOnePixelQuery) {
@@ -277,6 +311,8 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectOnePixelQuery) {
<< y;
EXPECT_EQ(gfx::Rect(x * 512 + 6, y * 512 + 6, 500, 500),
images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
} else {
EXPECT_EQ(0u, images.size()) << x << " " << y;
}
@@ -310,6 +346,8 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectMassiveImage) {
EXPECT_EQ(1u, images.size());
EXPECT_TRUE(images[0].image == discardable_image);
EXPECT_EQ(gfx::Rect(0, 0, 2048, 2048), images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
}
TEST_F(DiscardableImageMapTest, PaintDestroyedWhileImageIsDrawn) {
@@ -365,6 +403,8 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectMaxImage) {
EXPECT_EQ(1u, images.size());
EXPECT_TRUE(images[0].image == discardable_image);
EXPECT_EQ(gfx::Rect(42, 42, 2006, 2006), images[0].image_rect);
+ EXPECT_EQ(Region(images[0].image_rect),
+ image_map.GetRegionForImage(images[0].image->uniqueID()));
}
TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectMaxImageMaxLayer) {
@@ -399,6 +439,10 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesInRectMaxImageMaxLayer) {
visible_rect.size());
display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f);
}
+
+ EXPECT_EQ(gfx::Rect(0, 0, dimension, dimension),
+ image_map.GetRegionForImage(discardable_image->uniqueID()));
+
std::vector<PositionDrawImage> images =
GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1));
EXPECT_EQ(1u, images.size());
@@ -462,6 +506,15 @@ TEST_F(DiscardableImageMapTest, GetDiscardableImagesRectInBounds) {
images = GetDiscardableImagesInRect(image_map, gfx::Rect(0, 500, 1, 1));
EXPECT_EQ(1u, images.size());
EXPECT_EQ(gfx::Rect(0, 500, 1000, 100), images[0].image_rect);
+
+ Region discardable_image_region;
+ discardable_image_region.Union(gfx::Rect(0, 0, 90, 89));
+ discardable_image_region.Union(gfx::Rect(950, 951, 50, 49));
+ EXPECT_EQ(discardable_image_region,
+ image_map.GetRegionForImage(discardable_image->uniqueID()));
+
+ EXPECT_EQ(Region(gfx::Rect(0, 500, 1000, 100)),
+ image_map.GetRegionForImage(long_discardable_image->uniqueID()));
}
} // namespace cc
« no previous file with comments | « cc/playback/discardable_image_map.cc ('k') | cc/playback/display_item_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698