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

Side by Side Diff: cc/playback/discardable_image_map_unittest.cc

Issue 1484163002: Raster display item lists via a visual rect RTree. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review feedback. Created 4 years, 4 months 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698