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

Side by Side Diff: cc/resources/picture_unittest.cc

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/resources/picture.h" 5 #include "cc/resources/picture.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "cc/test/fake_content_layer_client.h" 10 #include "cc/test/fake_content_layer_client.h"
11 #include "cc/test/skia_common.h" 11 #include "cc/test/skia_common.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "third_party/skia/include/core/SkBBHFactory.h"
14 #include "third_party/skia/include/core/SkGraphics.h" 13 #include "third_party/skia/include/core/SkGraphics.h"
15 #include "ui/gfx/geometry/rect.h" 14 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/skia_util.h" 15 #include "ui/gfx/skia_util.h"
17 16
18 namespace cc { 17 namespace cc {
19 namespace { 18 namespace {
20 19
21 TEST(PictureTest, AsBase64String) { 20 TEST(PictureTest, AsBase64String) {
22 SkGraphics::Init(); 21 SkGraphics::Init();
23 22
24 gfx::Rect layer_rect(100, 100); 23 gfx::Rect layer_rect(100, 100);
25 24
26 SkTileGridFactory::TileGridInfo tile_grid_info; 25 gfx::Size tile_grid_size(100, 100);
27 tile_grid_info.fTileInterval = SkISize::Make(100, 100);
28 tile_grid_info.fMargin.setEmpty();
29 tile_grid_info.fOffset.setZero();
30 26
31 FakeContentLayerClient content_layer_client; 27 FakeContentLayerClient content_layer_client;
32 28
33 scoped_ptr<base::Value> tmp; 29 scoped_ptr<base::Value> tmp;
34 30
35 SkPaint red_paint; 31 SkPaint red_paint;
36 red_paint.setColor(SkColorSetARGB(255, 255, 0, 0)); 32 red_paint.setColor(SkColorSetARGB(255, 255, 0, 0));
37 SkPaint green_paint; 33 SkPaint green_paint;
38 green_paint.setColor(SkColorSetARGB(255, 0, 255, 0)); 34 green_paint.setColor(SkColorSetARGB(255, 0, 255, 0));
39 35
40 // Invalid picture (not a dict). 36 // Invalid picture (not a dict).
41 tmp.reset(new base::StringValue("abc!@#$%")); 37 tmp.reset(new base::StringValue("abc!@#$%"));
42 scoped_refptr<Picture> invalid_picture = 38 scoped_refptr<Picture> invalid_picture =
43 Picture::CreateFromValue(tmp.get()); 39 Picture::CreateFromValue(tmp.get());
44 EXPECT_FALSE(invalid_picture.get()); 40 EXPECT_FALSE(invalid_picture.get());
45 41
46 // Single full-size rect picture. 42 // Single full-size rect picture.
47 content_layer_client.add_draw_rect(layer_rect, red_paint); 43 content_layer_client.add_draw_rect(layer_rect, red_paint);
48 44
49 scoped_refptr<Picture> one_rect_picture = 45 scoped_refptr<Picture> one_rect_picture =
50 Picture::Create(layer_rect, 46 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, false,
51 &content_layer_client,
52 tile_grid_info,
53 false,
54 Picture::RECORD_NORMALLY); 47 Picture::RECORD_NORMALLY);
55 scoped_ptr<base::Value> serialized_one_rect(one_rect_picture->AsValue()); 48 scoped_ptr<base::Value> serialized_one_rect(one_rect_picture->AsValue());
56 49
57 // Reconstruct the picture. 50 // Reconstruct the picture.
58 scoped_refptr<Picture> one_rect_picture_check = 51 scoped_refptr<Picture> one_rect_picture_check =
59 Picture::CreateFromValue(serialized_one_rect.get()); 52 Picture::CreateFromValue(serialized_one_rect.get());
60 EXPECT_TRUE(!!one_rect_picture_check.get()); 53 EXPECT_TRUE(!!one_rect_picture_check.get());
61 54
62 // Check for equivalence. 55 // Check for equivalence.
63 unsigned char one_rect_buffer[4 * 100 * 100] = {0}; 56 unsigned char one_rect_buffer[4 * 100 * 100] = {0};
64 DrawPicture(one_rect_buffer, layer_rect, one_rect_picture); 57 DrawPicture(one_rect_buffer, layer_rect, one_rect_picture);
65 unsigned char one_rect_buffer_check[4 * 100 * 100] = {0}; 58 unsigned char one_rect_buffer_check[4 * 100 * 100] = {0};
66 DrawPicture(one_rect_buffer_check, layer_rect, one_rect_picture_check); 59 DrawPicture(one_rect_buffer_check, layer_rect, one_rect_picture_check);
67 60
68 EXPECT_EQ(one_rect_picture->LayerRect(), one_rect_picture_check->LayerRect()); 61 EXPECT_EQ(one_rect_picture->LayerRect(), one_rect_picture_check->LayerRect());
69 EXPECT_EQ(0, memcmp(one_rect_buffer, one_rect_buffer_check, 4 * 100 * 100)); 62 EXPECT_EQ(0, memcmp(one_rect_buffer, one_rect_buffer_check, 4 * 100 * 100));
70 63
71 // Two rect picture. 64 // Two rect picture.
72 content_layer_client.add_draw_rect(gfx::Rect(25, 25, 50, 50), green_paint); 65 content_layer_client.add_draw_rect(gfx::Rect(25, 25, 50, 50), green_paint);
73 66
74 scoped_refptr<Picture> two_rect_picture = 67 scoped_refptr<Picture> two_rect_picture =
75 Picture::Create(layer_rect, 68 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, false,
76 &content_layer_client,
77 tile_grid_info,
78 false,
79 Picture::RECORD_NORMALLY); 69 Picture::RECORD_NORMALLY);
80 70
81 scoped_ptr<base::Value> serialized_two_rect(two_rect_picture->AsValue()); 71 scoped_ptr<base::Value> serialized_two_rect(two_rect_picture->AsValue());
82 72
83 // Reconstruct the picture. 73 // Reconstruct the picture.
84 scoped_refptr<Picture> two_rect_picture_check = 74 scoped_refptr<Picture> two_rect_picture_check =
85 Picture::CreateFromValue(serialized_two_rect.get()); 75 Picture::CreateFromValue(serialized_two_rect.get());
86 EXPECT_TRUE(!!two_rect_picture_check.get()); 76 EXPECT_TRUE(!!two_rect_picture_check.get());
87 77
88 // Check for equivalence. 78 // Check for equivalence.
89 unsigned char two_rect_buffer[4 * 100 * 100] = {0}; 79 unsigned char two_rect_buffer[4 * 100 * 100] = {0};
90 DrawPicture(two_rect_buffer, layer_rect, two_rect_picture); 80 DrawPicture(two_rect_buffer, layer_rect, two_rect_picture);
91 unsigned char two_rect_buffer_check[4 * 100 * 100] = {0}; 81 unsigned char two_rect_buffer_check[4 * 100 * 100] = {0};
92 DrawPicture(two_rect_buffer_check, layer_rect, two_rect_picture_check); 82 DrawPicture(two_rect_buffer_check, layer_rect, two_rect_picture_check);
93 83
94 EXPECT_EQ(two_rect_picture->LayerRect(), two_rect_picture_check->LayerRect()); 84 EXPECT_EQ(two_rect_picture->LayerRect(), two_rect_picture_check->LayerRect());
95 EXPECT_EQ(0, memcmp(two_rect_buffer, two_rect_buffer_check, 4 * 100 * 100)); 85 EXPECT_EQ(0, memcmp(two_rect_buffer, two_rect_buffer_check, 4 * 100 * 100));
96 } 86 }
97 87
98 TEST(PictureTest, PixelRefIterator) { 88 TEST(PictureTest, PixelRefIterator) {
99 gfx::Rect layer_rect(2048, 2048); 89 gfx::Rect layer_rect(2048, 2048);
100 90
101 SkTileGridFactory::TileGridInfo tile_grid_info; 91 gfx::Size tile_grid_size(512, 512);
102 tile_grid_info.fTileInterval = SkISize::Make(512, 512);
103 tile_grid_info.fMargin.setEmpty();
104 tile_grid_info.fOffset.setZero();
105 92
106 FakeContentLayerClient content_layer_client; 93 FakeContentLayerClient content_layer_client;
107 94
108 // Discardable pixel refs are found in the following grids: 95 // Discardable pixel refs are found in the following grids:
109 // |---|---|---|---| 96 // |---|---|---|---|
110 // | | x | | x | 97 // | | x | | x |
111 // |---|---|---|---| 98 // |---|---|---|---|
112 // | x | | x | | 99 // | x | | x | |
113 // |---|---|---|---| 100 // |---|---|---|---|
114 // | | x | | x | 101 // | | x | | x |
115 // |---|---|---|---| 102 // |---|---|---|---|
116 // | x | | x | | 103 // | x | | x | |
117 // |---|---|---|---| 104 // |---|---|---|---|
118 SkBitmap discardable_bitmap[4][4]; 105 SkBitmap discardable_bitmap[4][4];
119 for (int y = 0; y < 4; ++y) { 106 for (int y = 0; y < 4; ++y) {
120 for (int x = 0; x < 4; ++x) { 107 for (int x = 0; x < 4; ++x) {
121 if ((x + y) & 1) { 108 if ((x + y) & 1) {
122 CreateBitmap( 109 CreateBitmap(
123 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]); 110 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]);
124 SkPaint paint; 111 SkPaint paint;
125 content_layer_client.add_draw_bitmap( 112 content_layer_client.add_draw_bitmap(
126 discardable_bitmap[y][x], 113 discardable_bitmap[y][x],
127 gfx::Point(x * 512 + 6, y * 512 + 6), paint); 114 gfx::Point(x * 512 + 6, y * 512 + 6), paint);
128 } 115 }
129 } 116 }
130 } 117 }
131 118
132 scoped_refptr<Picture> picture = Picture::Create(layer_rect, 119 scoped_refptr<Picture> picture =
133 &content_layer_client, 120 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, true,
134 tile_grid_info, 121 Picture::RECORD_NORMALLY);
135 true,
136 Picture::RECORD_NORMALLY);
137 122
138 // Default iterator does not have any pixel refs 123 // Default iterator does not have any pixel refs
139 { 124 {
140 Picture::PixelRefIterator iterator; 125 Picture::PixelRefIterator iterator;
141 EXPECT_FALSE(iterator); 126 EXPECT_FALSE(iterator);
142 } 127 }
143 for (int y = 0; y < 4; ++y) { 128 for (int y = 0; y < 4; ++y) {
144 for (int x = 0; x < 4; ++x) { 129 for (int x = 0; x < 4; ++x) {
145 Picture::PixelRefIterator iterator(gfx::Rect(x * 512, y * 512, 500, 500), 130 Picture::PixelRefIterator iterator(gfx::Rect(x * 512, y * 512, 500, 500),
146 picture.get()); 131 picture.get());
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 EXPECT_TRUE(++copy); 176 EXPECT_TRUE(++copy);
192 EXPECT_TRUE(*copy == discardable_bitmap[2][3].pixelRef()); 177 EXPECT_TRUE(*copy == discardable_bitmap[2][3].pixelRef());
193 EXPECT_TRUE(++copy); 178 EXPECT_TRUE(++copy);
194 EXPECT_TRUE(*copy == discardable_bitmap[3][2].pixelRef()); 179 EXPECT_TRUE(*copy == discardable_bitmap[3][2].pixelRef());
195 EXPECT_FALSE(++copy); 180 EXPECT_FALSE(++copy);
196 } 181 }
197 182
198 TEST(PictureTest, PixelRefIteratorNonZeroLayer) { 183 TEST(PictureTest, PixelRefIteratorNonZeroLayer) {
199 gfx::Rect layer_rect(1024, 0, 2048, 2048); 184 gfx::Rect layer_rect(1024, 0, 2048, 2048);
200 185
201 SkTileGridFactory::TileGridInfo tile_grid_info; 186 gfx::Size tile_grid_size(512, 512);
202 tile_grid_info.fTileInterval = SkISize::Make(512, 512);
203 tile_grid_info.fMargin.setEmpty();
204 tile_grid_info.fOffset.setZero();
205 187
206 FakeContentLayerClient content_layer_client; 188 FakeContentLayerClient content_layer_client;
207 189
208 // Discardable pixel refs are found in the following grids: 190 // Discardable pixel refs are found in the following grids:
209 // |---|---|---|---| 191 // |---|---|---|---|
210 // | | x | | x | 192 // | | x | | x |
211 // |---|---|---|---| 193 // |---|---|---|---|
212 // | x | | x | | 194 // | x | | x | |
213 // |---|---|---|---| 195 // |---|---|---|---|
214 // | | x | | x | 196 // | | x | | x |
215 // |---|---|---|---| 197 // |---|---|---|---|
216 // | x | | x | | 198 // | x | | x | |
217 // |---|---|---|---| 199 // |---|---|---|---|
218 SkBitmap discardable_bitmap[4][4]; 200 SkBitmap discardable_bitmap[4][4];
219 for (int y = 0; y < 4; ++y) { 201 for (int y = 0; y < 4; ++y) {
220 for (int x = 0; x < 4; ++x) { 202 for (int x = 0; x < 4; ++x) {
221 if ((x + y) & 1) { 203 if ((x + y) & 1) {
222 CreateBitmap( 204 CreateBitmap(
223 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]); 205 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]);
224 SkPaint paint; 206 SkPaint paint;
225 content_layer_client.add_draw_bitmap( 207 content_layer_client.add_draw_bitmap(
226 discardable_bitmap[y][x], 208 discardable_bitmap[y][x],
227 gfx::Point(1024 + x * 512 + 6, y * 512 + 6), paint); 209 gfx::Point(1024 + x * 512 + 6, y * 512 + 6), paint);
228 } 210 }
229 } 211 }
230 } 212 }
231 213
232 scoped_refptr<Picture> picture = Picture::Create(layer_rect, 214 scoped_refptr<Picture> picture =
233 &content_layer_client, 215 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, true,
234 tile_grid_info, 216 Picture::RECORD_NORMALLY);
235 true,
236 Picture::RECORD_NORMALLY);
237 217
238 // Default iterator does not have any pixel refs 218 // Default iterator does not have any pixel refs
239 { 219 {
240 Picture::PixelRefIterator iterator; 220 Picture::PixelRefIterator iterator;
241 EXPECT_FALSE(iterator); 221 EXPECT_FALSE(iterator);
242 } 222 }
243 for (int y = 0; y < 4; ++y) { 223 for (int y = 0; y < 4; ++y) {
244 for (int x = 0; x < 4; ++x) { 224 for (int x = 0; x < 4; ++x) {
245 Picture::PixelRefIterator iterator( 225 Picture::PixelRefIterator iterator(
246 gfx::Rect(1024 + x * 512, y * 512, 500, 500), picture.get()); 226 gfx::Rect(1024 + x * 512, y * 512, 500, 500), picture.get());
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 { 294 {
315 Picture::PixelRefIterator iterator(gfx::Rect(3500, 1100, 1000, 1000), 295 Picture::PixelRefIterator iterator(gfx::Rect(3500, 1100, 1000, 1000),
316 picture.get()); 296 picture.get());
317 EXPECT_FALSE(iterator); 297 EXPECT_FALSE(iterator);
318 } 298 }
319 } 299 }
320 300
321 TEST(PictureTest, PixelRefIteratorOnePixelQuery) { 301 TEST(PictureTest, PixelRefIteratorOnePixelQuery) {
322 gfx::Rect layer_rect(2048, 2048); 302 gfx::Rect layer_rect(2048, 2048);
323 303
324 SkTileGridFactory::TileGridInfo tile_grid_info; 304 gfx::Size tile_grid_size(512, 512);
325 tile_grid_info.fTileInterval = SkISize::Make(512, 512);
326 tile_grid_info.fMargin.setEmpty();
327 tile_grid_info.fOffset.setZero();
328 305
329 FakeContentLayerClient content_layer_client; 306 FakeContentLayerClient content_layer_client;
330 307
331 // Discardable pixel refs are found in the following grids: 308 // Discardable pixel refs are found in the following grids:
332 // |---|---|---|---| 309 // |---|---|---|---|
333 // | | x | | x | 310 // | | x | | x |
334 // |---|---|---|---| 311 // |---|---|---|---|
335 // | x | | x | | 312 // | x | | x | |
336 // |---|---|---|---| 313 // |---|---|---|---|
337 // | | x | | x | 314 // | | x | | x |
338 // |---|---|---|---| 315 // |---|---|---|---|
339 // | x | | x | | 316 // | x | | x | |
340 // |---|---|---|---| 317 // |---|---|---|---|
341 SkBitmap discardable_bitmap[4][4]; 318 SkBitmap discardable_bitmap[4][4];
342 for (int y = 0; y < 4; ++y) { 319 for (int y = 0; y < 4; ++y) {
343 for (int x = 0; x < 4; ++x) { 320 for (int x = 0; x < 4; ++x) {
344 if ((x + y) & 1) { 321 if ((x + y) & 1) {
345 CreateBitmap( 322 CreateBitmap(
346 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]); 323 gfx::Size(500, 500), "discardable", &discardable_bitmap[y][x]);
347 SkPaint paint; 324 SkPaint paint;
348 content_layer_client.add_draw_bitmap( 325 content_layer_client.add_draw_bitmap(
349 discardable_bitmap[y][x], 326 discardable_bitmap[y][x],
350 gfx::Point(x * 512 + 6, y * 512 + 6), paint); 327 gfx::Point(x * 512 + 6, y * 512 + 6), paint);
351 } 328 }
352 } 329 }
353 } 330 }
354 331
355 scoped_refptr<Picture> picture = Picture::Create(layer_rect, 332 scoped_refptr<Picture> picture =
356 &content_layer_client, 333 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, true,
357 tile_grid_info, 334 Picture::RECORD_NORMALLY);
358 true,
359 Picture::RECORD_NORMALLY);
360 335
361 for (int y = 0; y < 4; ++y) { 336 for (int y = 0; y < 4; ++y) {
362 for (int x = 0; x < 4; ++x) { 337 for (int x = 0; x < 4; ++x) {
363 Picture::PixelRefIterator iterator( 338 Picture::PixelRefIterator iterator(
364 gfx::Rect(x * 512, y * 512 + 256, 1, 1), picture.get()); 339 gfx::Rect(x * 512, y * 512 + 256, 1, 1), picture.get());
365 if ((x + y) & 1) { 340 if ((x + y) & 1) {
366 EXPECT_TRUE(iterator) << x << " " << y; 341 EXPECT_TRUE(iterator) << x << " " << y;
367 EXPECT_TRUE(*iterator == discardable_bitmap[y][x].pixelRef()); 342 EXPECT_TRUE(*iterator == discardable_bitmap[y][x].pixelRef());
368 EXPECT_FALSE(++iterator) << x << " " << y; 343 EXPECT_FALSE(++iterator) << x << " " << y;
369 } else { 344 } else {
370 EXPECT_FALSE(iterator) << x << " " << y; 345 EXPECT_FALSE(iterator) << x << " " << y;
371 } 346 }
372 } 347 }
373 } 348 }
374 } 349 }
375 350
376 TEST(PictureTest, CreateFromSkpValue) { 351 TEST(PictureTest, CreateFromSkpValue) {
377 SkGraphics::Init(); 352 SkGraphics::Init();
378 353
379 gfx::Rect layer_rect(100, 200); 354 gfx::Rect layer_rect(100, 200);
380 355
381 SkTileGridFactory::TileGridInfo tile_grid_info; 356 gfx::Size tile_grid_size(100, 200);
382 tile_grid_info.fTileInterval = SkISize::Make(100, 200);
383 tile_grid_info.fMargin.setEmpty();
384 tile_grid_info.fOffset.setZero();
385 357
386 FakeContentLayerClient content_layer_client; 358 FakeContentLayerClient content_layer_client;
387 359
388 scoped_ptr<base::Value> tmp; 360 scoped_ptr<base::Value> tmp;
389 361
390 SkPaint red_paint; 362 SkPaint red_paint;
391 red_paint.setColor(SkColorSetARGB(255, 255, 0, 0)); 363 red_paint.setColor(SkColorSetARGB(255, 255, 0, 0));
392 SkPaint green_paint; 364 SkPaint green_paint;
393 green_paint.setColor(SkColorSetARGB(255, 0, 255, 0)); 365 green_paint.setColor(SkColorSetARGB(255, 0, 255, 0));
394 366
395 // Invalid picture (not a dict). 367 // Invalid picture (not a dict).
396 tmp.reset(new base::StringValue("abc!@#$%")); 368 tmp.reset(new base::StringValue("abc!@#$%"));
397 scoped_refptr<Picture> invalid_picture = 369 scoped_refptr<Picture> invalid_picture =
398 Picture::CreateFromSkpValue(tmp.get()); 370 Picture::CreateFromSkpValue(tmp.get());
399 EXPECT_TRUE(!invalid_picture.get()); 371 EXPECT_TRUE(!invalid_picture.get());
400 372
401 // Single full-size rect picture. 373 // Single full-size rect picture.
402 content_layer_client.add_draw_rect(layer_rect, red_paint); 374 content_layer_client.add_draw_rect(layer_rect, red_paint);
403 scoped_refptr<Picture> one_rect_picture = 375 scoped_refptr<Picture> one_rect_picture =
404 Picture::Create(layer_rect, 376 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, false,
405 &content_layer_client,
406 tile_grid_info,
407 false,
408 Picture::RECORD_NORMALLY); 377 Picture::RECORD_NORMALLY);
409 scoped_ptr<base::Value> serialized_one_rect( 378 scoped_ptr<base::Value> serialized_one_rect(
410 one_rect_picture->AsValue()); 379 one_rect_picture->AsValue());
411 380
412 const base::DictionaryValue* value = NULL; 381 const base::DictionaryValue* value = NULL;
413 EXPECT_TRUE(serialized_one_rect->GetAsDictionary(&value)); 382 EXPECT_TRUE(serialized_one_rect->GetAsDictionary(&value));
414 383
415 // Decode the picture from base64. 384 // Decode the picture from base64.
416 const base::Value* skp_value; 385 const base::Value* skp_value;
417 EXPECT_TRUE(value->Get("skp64", &skp_value)); 386 EXPECT_TRUE(value->Get("skp64", &skp_value));
418 387
419 // Reconstruct the picture. 388 // Reconstruct the picture.
420 scoped_refptr<Picture> one_rect_picture_check = 389 scoped_refptr<Picture> one_rect_picture_check =
421 Picture::CreateFromSkpValue(skp_value); 390 Picture::CreateFromSkpValue(skp_value);
422 EXPECT_TRUE(!!one_rect_picture_check.get()); 391 EXPECT_TRUE(!!one_rect_picture_check.get());
423 392
424 EXPECT_EQ(100, one_rect_picture_check->LayerRect().width()); 393 EXPECT_EQ(100, one_rect_picture_check->LayerRect().width());
425 EXPECT_EQ(200, one_rect_picture_check->LayerRect().height()); 394 EXPECT_EQ(200, one_rect_picture_check->LayerRect().height());
426 } 395 }
427 396
428 TEST(PictureTest, RecordingModes) { 397 TEST(PictureTest, RecordingModes) {
429 SkGraphics::Init(); 398 SkGraphics::Init();
430 399
431 gfx::Rect layer_rect(100, 200); 400 gfx::Rect layer_rect(100, 200);
432 401
433 SkTileGridFactory::TileGridInfo tile_grid_info; 402 gfx::Size tile_grid_size(100, 200);
434 tile_grid_info.fTileInterval = SkISize::Make(100, 200);
435 tile_grid_info.fMargin.setEmpty();
436 tile_grid_info.fOffset.setZero();
437 403
438 FakeContentLayerClient content_layer_client; 404 FakeContentLayerClient content_layer_client;
439 EXPECT_EQ(NULL, content_layer_client.last_canvas()); 405 EXPECT_EQ(NULL, content_layer_client.last_canvas());
440 406
441 scoped_refptr<Picture> picture = Picture::Create(layer_rect, 407 scoped_refptr<Picture> picture =
442 &content_layer_client, 408 Picture::Create(layer_rect, &content_layer_client, tile_grid_size, false,
443 tile_grid_info, 409 Picture::RECORD_NORMALLY);
444 false,
445 Picture::RECORD_NORMALLY);
446 EXPECT_TRUE(content_layer_client.last_canvas() != NULL); 410 EXPECT_TRUE(content_layer_client.last_canvas() != NULL);
447 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_ENABLED, 411 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_ENABLED,
448 content_layer_client.last_context_status()); 412 content_layer_client.last_context_status());
449 EXPECT_TRUE(picture.get()); 413 EXPECT_TRUE(picture.get());
450 414
451 picture = Picture::Create(layer_rect, 415 picture = Picture::Create(layer_rect, &content_layer_client, tile_grid_size,
452 &content_layer_client, 416 false, Picture::RECORD_WITH_SK_NULL_CANVAS);
453 tile_grid_info,
454 false,
455 Picture::RECORD_WITH_SK_NULL_CANVAS);
456 EXPECT_TRUE(content_layer_client.last_canvas() != NULL); 417 EXPECT_TRUE(content_layer_client.last_canvas() != NULL);
457 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_ENABLED, 418 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_ENABLED,
458 content_layer_client.last_context_status()); 419 content_layer_client.last_context_status());
459 EXPECT_TRUE(picture.get()); 420 EXPECT_TRUE(picture.get());
460 421
461 picture = Picture::Create(layer_rect, 422 picture = Picture::Create(layer_rect, &content_layer_client, tile_grid_size,
462 &content_layer_client, 423 false, Picture::RECORD_WITH_PAINTING_DISABLED);
463 tile_grid_info,
464 false,
465 Picture::RECORD_WITH_PAINTING_DISABLED);
466 EXPECT_TRUE(content_layer_client.last_canvas() != NULL); 424 EXPECT_TRUE(content_layer_client.last_canvas() != NULL);
467 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_DISABLED, 425 EXPECT_EQ(ContentLayerClient::GRAPHICS_CONTEXT_DISABLED,
468 content_layer_client.last_context_status()); 426 content_layer_client.last_context_status());
469 EXPECT_TRUE(picture.get()); 427 EXPECT_TRUE(picture.get());
470 428
471 EXPECT_EQ(3, Picture::RECORDING_MODE_COUNT); 429 EXPECT_EQ(3, Picture::RECORDING_MODE_COUNT);
472 } 430 }
473 431
474 } // namespace 432 } // namespace
475 } // namespace cc 433 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/picture_pile.cc ('k') | cc/resources/recording_source.h » ('j') | shell/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698