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

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

Issue 563963002: cc: Remove opaque rect from cc::Picture. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pictureopaque: Created 6 years, 3 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
« no previous file with comments | « cc/resources/picture.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 EXPECT_TRUE(!!one_rect_picture_check.get()); 66 EXPECT_TRUE(!!one_rect_picture_check.get());
67 67
68 // Check for equivalence. 68 // Check for equivalence.
69 unsigned char one_rect_buffer[4 * 100 * 100] = {0}; 69 unsigned char one_rect_buffer[4 * 100 * 100] = {0};
70 DrawPicture(one_rect_buffer, layer_rect, one_rect_picture); 70 DrawPicture(one_rect_buffer, layer_rect, one_rect_picture);
71 unsigned char one_rect_buffer_check[4 * 100 * 100] = {0}; 71 unsigned char one_rect_buffer_check[4 * 100 * 100] = {0};
72 DrawPicture(one_rect_buffer_check, layer_rect, one_rect_picture_check); 72 DrawPicture(one_rect_buffer_check, layer_rect, one_rect_picture_check);
73 73
74 EXPECT_EQ(one_rect_picture->LayerRect(), 74 EXPECT_EQ(one_rect_picture->LayerRect(),
75 one_rect_picture_check->LayerRect()); 75 one_rect_picture_check->LayerRect());
76 EXPECT_EQ(one_rect_picture->OpaqueRect(),
77 one_rect_picture_check->OpaqueRect());
78 EXPECT_EQ(0, memcmp(one_rect_buffer, one_rect_buffer_check, 4 * 100 * 100)); 76 EXPECT_EQ(0, memcmp(one_rect_buffer, one_rect_buffer_check, 4 * 100 * 100));
79 } 77 }
80 78
81 // Two rect picture. 79 // Two rect picture.
82 content_layer_client.add_draw_rect(gfx::Rect(25, 25, 50, 50), green_paint); 80 content_layer_client.add_draw_rect(gfx::Rect(25, 25, 50, 50), green_paint);
83 81
84 for (size_t i = 0; i < arraysize(kRecordingModes); ++i) { 82 for (size_t i = 0; i < arraysize(kRecordingModes); ++i) {
85 scoped_refptr<Picture> two_rect_picture = 83 scoped_refptr<Picture> two_rect_picture =
86 Picture::Create(layer_rect, 84 Picture::Create(layer_rect,
87 &content_layer_client, 85 &content_layer_client,
88 tile_grid_info, 86 tile_grid_info,
89 false, 87 false,
90 Picture::RECORD_NORMALLY); 88 Picture::RECORD_NORMALLY);
91 89
92 scoped_ptr<base::Value> serialized_two_rect(two_rect_picture->AsValue()); 90 scoped_ptr<base::Value> serialized_two_rect(two_rect_picture->AsValue());
93 91
94 // Reconstruct the picture. 92 // Reconstruct the picture.
95 scoped_refptr<Picture> two_rect_picture_check = 93 scoped_refptr<Picture> two_rect_picture_check =
96 Picture::CreateFromValue(serialized_two_rect.get()); 94 Picture::CreateFromValue(serialized_two_rect.get());
97 EXPECT_TRUE(!!two_rect_picture_check.get()); 95 EXPECT_TRUE(!!two_rect_picture_check.get());
98 96
99 // Check for equivalence. 97 // Check for equivalence.
100 unsigned char two_rect_buffer[4 * 100 * 100] = {0}; 98 unsigned char two_rect_buffer[4 * 100 * 100] = {0};
101 DrawPicture(two_rect_buffer, layer_rect, two_rect_picture); 99 DrawPicture(two_rect_buffer, layer_rect, two_rect_picture);
102 unsigned char two_rect_buffer_check[4 * 100 * 100] = {0}; 100 unsigned char two_rect_buffer_check[4 * 100 * 100] = {0};
103 DrawPicture(two_rect_buffer_check, layer_rect, two_rect_picture_check); 101 DrawPicture(two_rect_buffer_check, layer_rect, two_rect_picture_check);
104 102
105 EXPECT_EQ(two_rect_picture->LayerRect(), 103 EXPECT_EQ(two_rect_picture->LayerRect(),
106 two_rect_picture_check->LayerRect()); 104 two_rect_picture_check->LayerRect());
107 EXPECT_EQ(two_rect_picture->OpaqueRect(),
108 two_rect_picture_check->OpaqueRect());
109 EXPECT_EQ(0, memcmp(two_rect_buffer, two_rect_buffer_check, 4 * 100 * 100)); 105 EXPECT_EQ(0, memcmp(two_rect_buffer, two_rect_buffer_check, 4 * 100 * 100));
110 } 106 }
111 } 107 }
112 108
113 TEST(PictureTest, PixelRefIterator) { 109 TEST(PictureTest, PixelRefIterator) {
114 gfx::Rect layer_rect(2048, 2048); 110 gfx::Rect layer_rect(2048, 2048);
115 111
116 SkTileGridFactory::TileGridInfo tile_grid_info; 112 SkTileGridFactory::TileGridInfo tile_grid_info;
117 tile_grid_info.fTileInterval = SkISize::Make(512, 512); 113 tile_grid_info.fTileInterval = SkISize::Make(512, 512);
118 tile_grid_info.fMargin.setEmpty(); 114 tile_grid_info.fMargin.setEmpty();
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 const base::Value* skp_value; 427 const base::Value* skp_value;
432 EXPECT_TRUE(value->Get("skp64", &skp_value)); 428 EXPECT_TRUE(value->Get("skp64", &skp_value));
433 429
434 // Reconstruct the picture. 430 // Reconstruct the picture.
435 scoped_refptr<Picture> one_rect_picture_check = 431 scoped_refptr<Picture> one_rect_picture_check =
436 Picture::CreateFromSkpValue(skp_value); 432 Picture::CreateFromSkpValue(skp_value);
437 EXPECT_TRUE(!!one_rect_picture_check.get()); 433 EXPECT_TRUE(!!one_rect_picture_check.get());
438 434
439 EXPECT_EQ(100, one_rect_picture_check->LayerRect().width()); 435 EXPECT_EQ(100, one_rect_picture_check->LayerRect().width());
440 EXPECT_EQ(200, one_rect_picture_check->LayerRect().height()); 436 EXPECT_EQ(200, one_rect_picture_check->LayerRect().height());
441 EXPECT_EQ(100, one_rect_picture_check->OpaqueRect().width());
442 EXPECT_EQ(200, one_rect_picture_check->OpaqueRect().height());
443 } 437 }
444 438
445 TEST(PictureTest, RecordingModes) { 439 TEST(PictureTest, RecordingModes) {
446 SkGraphics::Init(); 440 SkGraphics::Init();
447 441
448 gfx::Rect layer_rect(100, 200); 442 gfx::Rect layer_rect(100, 200);
449 443
450 SkTileGridFactory::TileGridInfo tile_grid_info; 444 SkTileGridFactory::TileGridInfo tile_grid_info;
451 tile_grid_info.fTileInterval = SkISize::Make(100, 200); 445 tile_grid_info.fTileInterval = SkISize::Make(100, 200);
452 tile_grid_info.fMargin.setEmpty(); 446 tile_grid_info.fMargin.setEmpty();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 false, 485 false,
492 Picture::RECORD_WITH_SKRECORD); 486 Picture::RECORD_WITH_SKRECORD);
493 EXPECT_TRUE(content_layer_client.last_canvas() != NULL); 487 EXPECT_TRUE(content_layer_client.last_canvas() != NULL);
494 EXPECT_TRUE(picture.get()); 488 EXPECT_TRUE(picture.get());
495 489
496 EXPECT_EQ(4, Picture::RECORDING_MODE_COUNT); 490 EXPECT_EQ(4, Picture::RECORDING_MODE_COUNT);
497 } 491 }
498 492
499 } // namespace 493 } // namespace
500 } // namespace cc 494 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/picture.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698