| 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 if ((x + y) & 1) { | 79 if ((x + y) & 1) { |
| 80 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); | 80 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); |
| 81 SkPaint paint; | 81 SkPaint paint; |
| 82 content_layer_client.add_draw_image( | 82 content_layer_client.add_draw_image( |
| 83 discardable_image[y][x], gfx::Point(x * 512 + 6, y * 512 + 6), | 83 discardable_image[y][x], gfx::Point(x * 512 + 6, y * 512 + 6), |
| 84 paint); | 84 paint); |
| 85 } | 85 } |
| 86 } | 86 } |
| 87 } | 87 } |
| 88 | 88 |
| 89 FakeRecordingSource recording_source; | 89 scoped_refptr<DisplayItemList> display_list = |
| 90 Region invalidation(visible_rect); | 90 content_layer_client.PaintContentsToDisplayList( |
| 91 recording_source.SetGenerateDiscardableImagesMetadata(true); | 91 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL); |
| 92 recording_source.UpdateAndExpandInvalidation( | |
| 93 &content_layer_client, &invalidation, visible_rect.size(), 1, | |
| 94 RecordingSource::RECORD_NORMALLY); | |
| 95 DisplayItemList* display_list = recording_source.display_list(); | |
| 96 | 92 |
| 97 DiscardableImageMap image_map; | 93 DiscardableImageMap image_map; |
| 98 { | 94 { |
| 99 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 95 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 100 visible_rect.size()); | 96 visible_rect.size()); |
| 101 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); | 97 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 102 } | 98 } |
| 103 | 99 |
| 104 for (int y = 0; y < 4; ++y) { | 100 for (int y = 0; y < 4; ++y) { |
| 105 for (int x = 0; x < 4; ++x) { | 101 for (int x = 0; x < 4; ++x) { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 if ((x + y) & 1) { | 152 if ((x + y) & 1) { |
| 157 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); | 153 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); |
| 158 SkPaint paint; | 154 SkPaint paint; |
| 159 content_layer_client.add_draw_image( | 155 content_layer_client.add_draw_image( |
| 160 discardable_image[y][x], | 156 discardable_image[y][x], |
| 161 gfx::Point(1024 + x * 512 + 6, y * 512 + 6), paint); | 157 gfx::Point(1024 + x * 512 + 6, y * 512 + 6), paint); |
| 162 } | 158 } |
| 163 } | 159 } |
| 164 } | 160 } |
| 165 | 161 |
| 166 FakeRecordingSource recording_source; | 162 scoped_refptr<DisplayItemList> display_list = |
| 167 Region invalidation(visible_rect); | 163 content_layer_client.PaintContentsToDisplayList( |
| 168 recording_source.SetGenerateDiscardableImagesMetadata(true); | 164 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL); |
| 169 recording_source.UpdateAndExpandInvalidation( | |
| 170 &content_layer_client, &invalidation, layer_size, 1, | |
| 171 RecordingSource::RECORD_NORMALLY); | |
| 172 DisplayItemList* display_list = recording_source.display_list(); | |
| 173 | 165 |
| 174 DiscardableImageMap image_map; | 166 DiscardableImageMap image_map; |
| 175 { | 167 { |
| 176 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 168 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 177 layer_size); | 169 layer_size); |
| 178 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); | 170 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 179 } | 171 } |
| 180 | 172 |
| 181 for (int y = 0; y < 4; ++y) { | 173 for (int y = 0; y < 4; ++y) { |
| 182 for (int x = 0; x < 4; ++x) { | 174 for (int x = 0; x < 4; ++x) { |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 if ((x + y) & 1) { | 248 if ((x + y) & 1) { |
| 257 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); | 249 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); |
| 258 SkPaint paint; | 250 SkPaint paint; |
| 259 content_layer_client.add_draw_image( | 251 content_layer_client.add_draw_image( |
| 260 discardable_image[y][x], gfx::Point(x * 512 + 6, y * 512 + 6), | 252 discardable_image[y][x], gfx::Point(x * 512 + 6, y * 512 + 6), |
| 261 paint); | 253 paint); |
| 262 } | 254 } |
| 263 } | 255 } |
| 264 } | 256 } |
| 265 | 257 |
| 266 FakeRecordingSource recording_source; | 258 scoped_refptr<DisplayItemList> display_list = |
| 267 Region invalidation(visible_rect); | 259 content_layer_client.PaintContentsToDisplayList( |
| 268 recording_source.SetGenerateDiscardableImagesMetadata(true); | 260 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL); |
| 269 recording_source.UpdateAndExpandInvalidation( | |
| 270 &content_layer_client, &invalidation, visible_rect.size(), 1, | |
| 271 RecordingSource::RECORD_NORMALLY); | |
| 272 DisplayItemList* display_list = recording_source.display_list(); | |
| 273 | 261 |
| 274 DiscardableImageMap image_map; | 262 DiscardableImageMap image_map; |
| 275 { | 263 { |
| 276 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 264 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 277 visible_rect.size()); | 265 visible_rect.size()); |
| 278 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); | 266 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 279 } | 267 } |
| 280 | 268 |
| 281 for (int y = 0; y < 4; ++y) { | 269 for (int y = 0; y < 4; ++y) { |
| 282 for (int x = 0; x < 4; ++x) { | 270 for (int x = 0; x < 4; ++x) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 299 gfx::Rect visible_rect(2048, 2048); | 287 gfx::Rect visible_rect(2048, 2048); |
| 300 FakeContentLayerClient content_layer_client; | 288 FakeContentLayerClient content_layer_client; |
| 301 content_layer_client.set_bounds(visible_rect.size()); | 289 content_layer_client.set_bounds(visible_rect.size()); |
| 302 | 290 |
| 303 sk_sp<SkImage> discardable_image = | 291 sk_sp<SkImage> discardable_image = |
| 304 CreateDiscardableImage(gfx::Size(1 << 25, 1 << 25)); | 292 CreateDiscardableImage(gfx::Size(1 << 25, 1 << 25)); |
| 305 SkPaint paint; | 293 SkPaint paint; |
| 306 content_layer_client.add_draw_image(discardable_image, gfx::Point(0, 0), | 294 content_layer_client.add_draw_image(discardable_image, gfx::Point(0, 0), |
| 307 paint); | 295 paint); |
| 308 | 296 |
| 309 FakeRecordingSource recording_source; | 297 scoped_refptr<DisplayItemList> display_list = |
| 310 Region invalidation(visible_rect); | 298 content_layer_client.PaintContentsToDisplayList( |
| 311 recording_source.SetGenerateDiscardableImagesMetadata(true); | 299 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL); |
| 312 recording_source.UpdateAndExpandInvalidation( | |
| 313 &content_layer_client, &invalidation, visible_rect.size(), 1, | |
| 314 RecordingSource::RECORD_NORMALLY); | |
| 315 DisplayItemList* display_list = recording_source.display_list(); | |
| 316 | 300 |
| 317 DiscardableImageMap image_map; | 301 DiscardableImageMap image_map; |
| 318 { | 302 { |
| 319 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, | 303 DiscardableImageMap::ScopedMetadataGenerator generator(&image_map, |
| 320 visible_rect.size()); | 304 visible_rect.size()); |
| 321 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); | 305 display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f); |
| 322 } | 306 } |
| 323 std::vector<PositionDrawImage> images = | 307 std::vector<PositionDrawImage> images = |
| 324 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); | 308 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); |
| 325 EXPECT_EQ(1u, images.size()); | 309 EXPECT_EQ(1u, images.size()); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 347 generator.canvas()->restore(); | 331 generator.canvas()->restore(); |
| 348 } | 332 } |
| 349 | 333 |
| 350 std::vector<PositionDrawImage> images = | 334 std::vector<PositionDrawImage> images = |
| 351 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); | 335 GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1)); |
| 352 EXPECT_EQ(1u, images.size()); | 336 EXPECT_EQ(1u, images.size()); |
| 353 EXPECT_TRUE(images[0].image == discardable_image); | 337 EXPECT_TRUE(images[0].image == discardable_image); |
| 354 } | 338 } |
| 355 | 339 |
| 356 } // namespace cc | 340 } // namespace cc |
| OLD | NEW |