| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/playback/discardable_image_map.h" | 5 #include "cc/playback/discardable_image_map.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 recording_source.SetGenerateDiscardableImagesMetadata(true); | 91 recording_source.SetGenerateDiscardableImagesMetadata(true); |
| 92 recording_source.UpdateAndExpandInvalidation( | 92 recording_source.UpdateAndExpandInvalidation( |
| 93 &content_layer_client, &invalidation, visible_rect.size(), 1, | 93 &content_layer_client, &invalidation, visible_rect.size(), 1, |
| 94 RecordingSource::RECORD_NORMALLY); | 94 RecordingSource::RECORD_NORMALLY); |
| 95 DisplayItemList* display_list = recording_source.display_list(); | 95 DisplayItemList* display_list = recording_source.display_list(); |
| 96 | 96 |
| 97 DiscardableImageMap image_map; | 97 DiscardableImageMap image_map; |
| 98 { | 98 { |
| 99 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 99 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 100 visible_rect.size()); | 100 visible_rect.size()); |
| 101 display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f); | 101 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 102 } | 102 } |
| 103 | 103 |
| 104 for (int y = 0; y < 4; ++y) { | 104 for (int y = 0; y < 4; ++y) { |
| 105 for (int x = 0; x < 4; ++x) { | 105 for (int x = 0; x < 4; ++x) { |
| 106 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( | 106 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( |
| 107 image_map, gfx::Rect(x * 512, y * 512, 500, 500)); | 107 image_map, gfx::Rect(x * 512, y * 512, 500, 500)); |
| 108 if ((x + y) & 1) { | 108 if ((x + y) & 1) { |
| 109 EXPECT_EQ(1u, images.size()) << x << " " << y; | 109 EXPECT_EQ(1u, images.size()) << x << " " << y; |
| 110 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " | 110 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " |
| 111 << y; | 111 << y; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 recording_source.SetGenerateDiscardableImagesMetadata(true); | 168 recording_source.SetGenerateDiscardableImagesMetadata(true); |
| 169 recording_source.UpdateAndExpandInvalidation( | 169 recording_source.UpdateAndExpandInvalidation( |
| 170 &content_layer_client, &invalidation, layer_size, 1, | 170 &content_layer_client, &invalidation, layer_size, 1, |
| 171 RecordingSource::RECORD_NORMALLY); | 171 RecordingSource::RECORD_NORMALLY); |
| 172 DisplayItemList* display_list = recording_source.display_list(); | 172 DisplayItemList* display_list = recording_source.display_list(); |
| 173 | 173 |
| 174 DiscardableImageMap image_map; | 174 DiscardableImageMap image_map; |
| 175 { | 175 { |
| 176 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 176 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 177 layer_size); | 177 layer_size); |
| 178 display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f); | 178 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 179 } | 179 } |
| 180 | 180 |
| 181 for (int y = 0; y < 4; ++y) { | 181 for (int y = 0; y < 4; ++y) { |
| 182 for (int x = 0; x < 4; ++x) { | 182 for (int x = 0; x < 4; ++x) { |
| 183 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( | 183 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( |
| 184 image_map, gfx::Rect(1024 + x * 512, y * 512, 500, 500)); | 184 image_map, gfx::Rect(1024 + x * 512, y * 512, 500, 500)); |
| 185 if ((x + y) & 1) { | 185 if ((x + y) & 1) { |
| 186 EXPECT_EQ(1u, images.size()) << x << " " << y; | 186 EXPECT_EQ(1u, images.size()) << x << " " << y; |
| 187 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " | 187 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " |
| 188 << y; | 188 << y; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 recording_source.SetGenerateDiscardableImagesMetadata(true); | 268 recording_source.SetGenerateDiscardableImagesMetadata(true); |
| 269 recording_source.UpdateAndExpandInvalidation( | 269 recording_source.UpdateAndExpandInvalidation( |
| 270 &content_layer_client, &invalidation, visible_rect.size(), 1, | 270 &content_layer_client, &invalidation, visible_rect.size(), 1, |
| 271 RecordingSource::RECORD_NORMALLY); | 271 RecordingSource::RECORD_NORMALLY); |
| 272 DisplayItemList* display_list = recording_source.display_list(); | 272 DisplayItemList* display_list = recording_source.display_list(); |
| 273 | 273 |
| 274 DiscardableImageMap image_map; | 274 DiscardableImageMap image_map; |
| 275 { | 275 { |
| 276 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 276 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 277 visible_rect.size()); | 277 visible_rect.size()); |
| 278 display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f); | 278 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 279 } | 279 } |
| 280 | 280 |
| 281 for (int y = 0; y < 4; ++y) { | 281 for (int y = 0; y < 4; ++y) { |
| 282 for (int x = 0; x < 4; ++x) { | 282 for (int x = 0; x < 4; ++x) { |
| 283 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( | 283 std::vector<PositionDrawImage> images = GetDiscardableImagesInRect( |
| 284 image_map, gfx::Rect(x * 512 + 256, y * 512 + 256, 1, 1)); | 284 image_map, gfx::Rect(x * 512 + 256, y * 512 + 256, 1, 1)); |
| 285 if ((x + y) & 1) { | 285 if ((x + y) & 1) { |
| 286 EXPECT_EQ(1u, images.size()) << x << " " << y; | 286 EXPECT_EQ(1u, images.size()) << x << " " << y; |
| 287 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " | 287 EXPECT_TRUE(images[0].image == discardable_image[y][x]) << x << " " |
| 288 << y; | 288 << y; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 311 recording_source.SetGenerateDiscardableImagesMetadata(true); | 311 recording_source.SetGenerateDiscardableImagesMetadata(true); |
| 312 recording_source.UpdateAndExpandInvalidation( | 312 recording_source.UpdateAndExpandInvalidation( |
| 313 &content_layer_client, &invalidation, visible_rect.size(), 1, | 313 &content_layer_client, &invalidation, visible_rect.size(), 1, |
| 314 RecordingSource::RECORD_NORMALLY); | 314 RecordingSource::RECORD_NORMALLY); |
| 315 DisplayItemList* display_list = recording_source.display_list(); | 315 DisplayItemList* display_list = recording_source.display_list(); |
| 316 | 316 |
| 317 DiscardableImageMap image_map; | 317 DiscardableImageMap image_map; |
| 318 { | 318 { |
| 319 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 319 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 320 visible_rect.size()); | 320 visible_rect.size()); |
| 321 display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f); | 321 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 322 } | 322 } |
| 323 std::vector<PositionDrawImage> images = | 323 std::vector<PositionDrawImage> images = |
| 324 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); | 324 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); |
| 325 EXPECT_EQ(1u, images.size()); | 325 EXPECT_EQ(1u, images.size()); |
| 326 EXPECT_TRUE(images[0].image == discardable_image); | 326 EXPECT_TRUE(images[0].image == discardable_image); |
| 327 EXPECT_EQ(gfx::Rect(0, 0, 1 << 25, 1 << 25), images[0].image_rect); | 327 EXPECT_EQ(gfx::Rect(0, 0, 1 << 25, 1 << 25), images[0].image_rect); |
| 328 } | 328 } |
| 329 | 329 |
| 330 TEST_F(DiscardableImageMapTest, PaintDestroyedWhileImageIsDrawn) { | 330 TEST_F(DiscardableImageMapTest, PaintDestroyedWhileImageIsDrawn) { |
| 331 gfx::Rect visible_rect(2048, 2048); | 331 gfx::Rect visible_rect(2048, 2048); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 347 generator.canvas()->restore(); | 347 generator.canvas()->restore(); |
| 348 } | 348 } |
| 349 | 349 |
| 350 std::vector<PositionDrawImage> images = | 350 std::vector<PositionDrawImage> images = |
| 351 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); | 351 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); |
| 352 EXPECT_EQ(1u, images.size()); | 352 EXPECT_EQ(1u, images.size()); |
| 353 EXPECT_TRUE(images[0].image == discardable_image); | 353 EXPECT_TRUE(images[0].image == discardable_image); |
| 354 } | 354 } |
| 355 | 355 |
| 356 } // namespace cc | 356 } // namespace cc |
| OLD | NEW |