| Index: cc/resources/resource_pool_unittest.cc
|
| diff --git a/cc/resources/resource_pool_unittest.cc b/cc/resources/resource_pool_unittest.cc
|
| index 53ccf4541001c9fb2a0d034a2d984e741bf03e25..9ed34ea12d15ac80ff62341ec069fefaefc76ec4 100644
|
| --- a/cc/resources/resource_pool_unittest.cc
|
| +++ b/cc/resources/resource_pool_unittest.cc
|
| @@ -310,5 +310,61 @@ TEST_F(ResourcePoolTest, UpdateContentIdAndInvalidatedRect) {
|
| resource_pool_->ReleaseResource(reacquired_resource);
|
| }
|
|
|
| +TEST_F(ResourcePoolTest, ReuseResourceExactMatch) {
|
| + ResourceFormat format = RGBA_8888;
|
| + gfx::ColorSpace color_space = gfx::ColorSpace::CreateSRGB();
|
| +
|
| + // Create unused resources with sizes close to 100, 100.
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(99, 100), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(99, 99), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(100, 99), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(101, 101), format, color_space));
|
| + resource_pool_->CheckBusyResources();
|
| +
|
| + gfx::Size size(100, 100);
|
| + EXPECT_EQ(nullptr,
|
| + resource_pool_->ReuseResource(size, size, format, color_space));
|
| + size = gfx::Size(100, 99);
|
| + EXPECT_NE(nullptr,
|
| + resource_pool_->ReuseResource(size, size, format, color_space));
|
| + EXPECT_EQ(nullptr,
|
| + resource_pool_->ReuseResource(size, size, format, color_space));
|
| +}
|
| +
|
| +TEST_F(ResourcePoolTest, ReuseResourceFuzzyMatch) {
|
| + ResourceFormat format = RGBA_8888;
|
| + gfx::ColorSpace color_space = gfx::ColorSpace::CreateSRGB();
|
| +
|
| + // Create unused resources with sizes close to 100, 100.
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(99, 100), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(99, 99), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(100, 99), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(101, 101), format, color_space));
|
| + resource_pool_->ReleaseResource(
|
| + resource_pool_->CreateResource(gfx::Size(202, 202), format, color_space));
|
| + resource_pool_->CheckBusyResources();
|
| +
|
| + EXPECT_EQ(nullptr,
|
| + resource_pool_->ReuseResource(
|
| + gfx::Size(50, 100), gfx::Size(50, 102), format, color_space));
|
| + EXPECT_EQ(nullptr,
|
| + resource_pool_->ReuseResource(
|
| + gfx::Size(100, 102), gfx::Size(102, 102), format, color_space));
|
| + EXPECT_NE(nullptr,
|
| + resource_pool_->ReuseResource(
|
| + gfx::Size(100, 100), gfx::Size(200, 200), format, color_space));
|
| + EXPECT_EQ(nullptr,
|
| + resource_pool_->ReuseResource(
|
| + gfx::Size(100, 100), gfx::Size(200, 200), format, color_space));
|
| +}
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|