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

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

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 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/playback/raster_source.h ('k') | cc/playback/recording_source.h » ('j') | 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/playback/raster_source.h"
6
5 #include <stddef.h> 7 #include <stddef.h>
6 8
7 #include "base/memory/scoped_ptr.h" 9 #include <memory>
8 #include "cc/playback/raster_source.h" 10
9 #include "cc/test/fake_recording_source.h" 11 #include "cc/test/fake_recording_source.h"
10 #include "cc/test/skia_common.h" 12 #include "cc/test/skia_common.h"
11 #include "skia/ext/refptr.h" 13 #include "skia/ext/refptr.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 #include "third_party/skia/include/core/SkPixelRef.h" 15 #include "third_party/skia/include/core/SkPixelRef.h"
14 #include "third_party/skia/include/core/SkShader.h" 16 #include "third_party/skia/include/core/SkShader.h"
15 #include "ui/gfx/geometry/rect.h" 17 #include "ui/gfx/geometry/rect.h"
16 #include "ui/gfx/geometry/size_conversions.h" 18 #include "ui/gfx/geometry/size_conversions.h"
17 19
18 namespace cc { 20 namespace cc {
19 namespace { 21 namespace {
20 22
21 TEST(RasterSourceTest, AnalyzeIsSolidUnscaled) { 23 TEST(RasterSourceTest, AnalyzeIsSolidUnscaled) {
22 gfx::Size layer_bounds(400, 400); 24 gfx::Size layer_bounds(400, 400);
23 25
24 scoped_ptr<FakeRecordingSource> recording_source = 26 std::unique_ptr<FakeRecordingSource> recording_source =
25 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 27 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
26 28
27 SkPaint solid_paint; 29 SkPaint solid_paint;
28 SkColor solid_color = SkColorSetARGB(255, 12, 23, 34); 30 SkColor solid_color = SkColorSetARGB(255, 12, 23, 34);
29 solid_paint.setColor(solid_color); 31 solid_paint.setColor(solid_color);
30 32
31 SkColor non_solid_color = SkColorSetARGB(128, 45, 56, 67); 33 SkColor non_solid_color = SkColorSetARGB(128, 45, 56, 67);
32 SkColor color = SK_ColorTRANSPARENT; 34 SkColor color = SK_ColorTRANSPARENT;
33 SkPaint non_solid_paint; 35 SkPaint non_solid_paint;
34 bool is_solid_color = false; 36 bool is_solid_color = false;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 color = SK_ColorTRANSPARENT; 87 color = SK_ColorTRANSPARENT;
86 is_solid_color = raster->PerformSolidColorAnalysis( 88 is_solid_color = raster->PerformSolidColorAnalysis(
87 gfx::Rect(350, 350, 100, 100), 1.0, &color); 89 gfx::Rect(350, 350, 100, 100), 1.0, &color);
88 EXPECT_TRUE(is_solid_color); 90 EXPECT_TRUE(is_solid_color);
89 EXPECT_EQ(solid_color, color); 91 EXPECT_EQ(solid_color, color);
90 } 92 }
91 93
92 TEST(RasterSourceTest, AnalyzeIsSolidScaled) { 94 TEST(RasterSourceTest, AnalyzeIsSolidScaled) {
93 gfx::Size layer_bounds(400, 400); 95 gfx::Size layer_bounds(400, 400);
94 96
95 scoped_ptr<FakeRecordingSource> recording_source = 97 std::unique_ptr<FakeRecordingSource> recording_source =
96 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 98 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
97 99
98 SkColor solid_color = SkColorSetARGB(255, 12, 23, 34); 100 SkColor solid_color = SkColorSetARGB(255, 12, 23, 34);
99 SkColor color = SK_ColorTRANSPARENT; 101 SkColor color = SK_ColorTRANSPARENT;
100 SkPaint solid_paint; 102 SkPaint solid_paint;
101 bool is_solid_color = false; 103 bool is_solid_color = false;
102 solid_paint.setColor(solid_color); 104 solid_paint.setColor(solid_color);
103 105
104 SkColor non_solid_color = SkColorSetARGB(128, 45, 56, 67); 106 SkColor non_solid_color = SkColorSetARGB(128, 45, 56, 67);
105 SkPaint non_solid_paint; 107 SkPaint non_solid_paint;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 color = SK_ColorTRANSPARENT; 158 color = SK_ColorTRANSPARENT;
157 is_solid_color = raster->PerformSolidColorAnalysis(gfx::Rect(35, 35, 10, 10), 159 is_solid_color = raster->PerformSolidColorAnalysis(gfx::Rect(35, 35, 10, 10),
158 0.1f, &color); 160 0.1f, &color);
159 EXPECT_TRUE(is_solid_color); 161 EXPECT_TRUE(is_solid_color);
160 EXPECT_EQ(color, solid_color); 162 EXPECT_EQ(color, solid_color);
161 } 163 }
162 164
163 TEST(RasterSourceTest, AnalyzeIsSolidEmpty) { 165 TEST(RasterSourceTest, AnalyzeIsSolidEmpty) {
164 gfx::Size layer_bounds(400, 400); 166 gfx::Size layer_bounds(400, 400);
165 167
166 scoped_ptr<FakeRecordingSource> recording_source = 168 std::unique_ptr<FakeRecordingSource> recording_source =
167 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 169 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
168 recording_source->Rerecord(); 170 recording_source->Rerecord();
169 171
170 scoped_refptr<RasterSource> raster = 172 scoped_refptr<RasterSource> raster =
171 RasterSource::CreateFromRecordingSource(recording_source.get(), false); 173 RasterSource::CreateFromRecordingSource(recording_source.get(), false);
172 174
173 SkColor color = SK_ColorTRANSPARENT; 175 SkColor color = SK_ColorTRANSPARENT;
174 bool is_solid_color = 176 bool is_solid_color =
175 raster->PerformSolidColorAnalysis(gfx::Rect(0, 0, 400, 400), 1.f, &color); 177 raster->PerformSolidColorAnalysis(gfx::Rect(0, 0, 400, 400), 1.f, &color);
176 178
177 EXPECT_TRUE(is_solid_color); 179 EXPECT_TRUE(is_solid_color);
178 EXPECT_EQ(color, SkColorSetARGB(0, 0, 0, 0)); 180 EXPECT_EQ(color, SkColorSetARGB(0, 0, 0, 0));
179 } 181 }
180 182
181 TEST(RasterSourceTest, PixelRefIteratorDiscardableRefsOneTile) { 183 TEST(RasterSourceTest, PixelRefIteratorDiscardableRefsOneTile) {
182 gfx::Size layer_bounds(512, 512); 184 gfx::Size layer_bounds(512, 512);
183 185
184 scoped_ptr<FakeRecordingSource> recording_source = 186 std::unique_ptr<FakeRecordingSource> recording_source =
185 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 187 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
186 188
187 skia::RefPtr<SkImage> discardable_image[2][2]; 189 skia::RefPtr<SkImage> discardable_image[2][2];
188 discardable_image[0][0] = CreateDiscardableImage(gfx::Size(32, 32)); 190 discardable_image[0][0] = CreateDiscardableImage(gfx::Size(32, 32));
189 discardable_image[0][1] = CreateDiscardableImage(gfx::Size(32, 32)); 191 discardable_image[0][1] = CreateDiscardableImage(gfx::Size(32, 32));
190 discardable_image[1][1] = CreateDiscardableImage(gfx::Size(32, 32)); 192 discardable_image[1][1] = CreateDiscardableImage(gfx::Size(32, 32));
191 193
192 // Discardable pixel refs are found in the following cells: 194 // Discardable pixel refs are found in the following cells:
193 // |---|---| 195 // |---|---|
194 // | x | x | 196 // | x | x |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 EXPECT_EQ(discardable_image[0][1].get(), images[1].image()); 240 EXPECT_EQ(discardable_image[0][1].get(), images[1].image());
239 EXPECT_EQ(discardable_image[1][1].get(), images[2].image()); 241 EXPECT_EQ(discardable_image[1][1].get(), images[2].image());
240 } 242 }
241 } 243 }
242 244
243 TEST(RasterSourceTest, RasterFullContents) { 245 TEST(RasterSourceTest, RasterFullContents) {
244 gfx::Size layer_bounds(3, 5); 246 gfx::Size layer_bounds(3, 5);
245 float contents_scale = 1.5f; 247 float contents_scale = 1.5f;
246 float raster_divisions = 2.f; 248 float raster_divisions = 2.f;
247 249
248 scoped_ptr<FakeRecordingSource> recording_source = 250 std::unique_ptr<FakeRecordingSource> recording_source =
249 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 251 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
250 recording_source->SetBackgroundColor(SK_ColorBLACK); 252 recording_source->SetBackgroundColor(SK_ColorBLACK);
251 recording_source->SetClearCanvasWithDebugColor(false); 253 recording_source->SetClearCanvasWithDebugColor(false);
252 254
253 // Because the caller sets content opaque, it also promises that it 255 // Because the caller sets content opaque, it also promises that it
254 // has at least filled in layer_bounds opaquely. 256 // has at least filled in layer_bounds opaquely.
255 SkPaint white_paint; 257 SkPaint white_paint;
256 white_paint.setColor(SK_ColorWHITE); 258 white_paint.setColor(SK_ColorWHITE);
257 recording_source->add_draw_rect_with_paint(gfx::Rect(layer_bounds), 259 recording_source->add_draw_rect_with_paint(gfx::Rect(layer_bounds),
258 white_paint); 260 white_paint);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 // will be non-white. 306 // will be non-white.
305 EXPECT_EQ(all_white, gfx::Rect(content_bounds).Contains(canvas_rect)); 307 EXPECT_EQ(all_white, gfx::Rect(content_bounds).Contains(canvas_rect));
306 } 308 }
307 } 309 }
308 } 310 }
309 311
310 TEST(RasterSourceTest, RasterPartialContents) { 312 TEST(RasterSourceTest, RasterPartialContents) {
311 gfx::Size layer_bounds(3, 5); 313 gfx::Size layer_bounds(3, 5);
312 float contents_scale = 1.5f; 314 float contents_scale = 1.5f;
313 315
314 scoped_ptr<FakeRecordingSource> recording_source = 316 std::unique_ptr<FakeRecordingSource> recording_source =
315 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 317 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
316 recording_source->SetBackgroundColor(SK_ColorGREEN); 318 recording_source->SetBackgroundColor(SK_ColorGREEN);
317 recording_source->SetClearCanvasWithDebugColor(false); 319 recording_source->SetClearCanvasWithDebugColor(false);
318 320
319 // First record everything as white. 321 // First record everything as white.
320 SkPaint white_paint; 322 SkPaint white_paint;
321 white_paint.setColor(SK_ColorWHITE); 323 white_paint.setColor(SK_ColorWHITE);
322 recording_source->add_draw_rect_with_paint(gfx::Rect(layer_bounds), 324 recording_source->add_draw_rect_with_paint(gfx::Rect(layer_bounds),
323 white_paint); 325 white_paint);
324 recording_source->Rerecord(); 326 recording_source->Rerecord();
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 } 398 }
397 EXPECT_GT(num_black, 0); 399 EXPECT_GT(num_black, 0);
398 EXPECT_GT(num_white, 0); 400 EXPECT_GT(num_white, 0);
399 } 401 }
400 402
401 TEST(RasterSourceTest, RasterPartialClear) { 403 TEST(RasterSourceTest, RasterPartialClear) {
402 gfx::Size layer_bounds(3, 5); 404 gfx::Size layer_bounds(3, 5);
403 gfx::Size partial_bounds(2, 4); 405 gfx::Size partial_bounds(2, 4);
404 float contents_scale = 1.5f; 406 float contents_scale = 1.5f;
405 407
406 scoped_ptr<FakeRecordingSource> recording_source = 408 std::unique_ptr<FakeRecordingSource> recording_source =
407 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 409 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
408 recording_source->SetBackgroundColor(SK_ColorGREEN); 410 recording_source->SetBackgroundColor(SK_ColorGREEN);
409 recording_source->SetRequiresClear(true); 411 recording_source->SetRequiresClear(true);
410 recording_source->SetClearCanvasWithDebugColor(false); 412 recording_source->SetClearCanvasWithDebugColor(false);
411 413
412 // First record everything as white. 414 // First record everything as white.
413 const unsigned alpha_dark = 10u; 415 const unsigned alpha_dark = 10u;
414 SkPaint white_paint; 416 SkPaint white_paint;
415 white_paint.setColor(SK_ColorWHITE); 417 white_paint.setColor(SK_ColorWHITE);
416 white_paint.setAlpha(alpha_dark); 418 white_paint.setAlpha(alpha_dark);
(...skipping 25 matching lines...) Expand all
442 SCOPED_TRACE(i); 444 SCOPED_TRACE(i);
443 SCOPED_TRACE(j); 445 SCOPED_TRACE(j);
444 EXPECT_EQ(alpha_dark, SkColorGetA(pixels[i + j * bitmap.width()])); 446 EXPECT_EQ(alpha_dark, SkColorGetA(pixels[i + j * bitmap.width()]));
445 EXPECT_EQ(alpha_dark, SkColorGetR(pixels[i + j * bitmap.width()])); 447 EXPECT_EQ(alpha_dark, SkColorGetR(pixels[i + j * bitmap.width()]));
446 EXPECT_EQ(alpha_dark, SkColorGetG(pixels[i + j * bitmap.width()])); 448 EXPECT_EQ(alpha_dark, SkColorGetG(pixels[i + j * bitmap.width()]));
447 EXPECT_EQ(alpha_dark, SkColorGetB(pixels[i + j * bitmap.width()])); 449 EXPECT_EQ(alpha_dark, SkColorGetB(pixels[i + j * bitmap.width()]));
448 } 450 }
449 } 451 }
450 } 452 }
451 453
452 scoped_ptr<FakeRecordingSource> recording_source_light = 454 std::unique_ptr<FakeRecordingSource> recording_source_light =
453 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 455 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
454 recording_source_light->SetBackgroundColor(SK_ColorGREEN); 456 recording_source_light->SetBackgroundColor(SK_ColorGREEN);
455 recording_source_light->SetRequiresClear(true); 457 recording_source_light->SetRequiresClear(true);
456 recording_source_light->SetClearCanvasWithDebugColor(false); 458 recording_source_light->SetClearCanvasWithDebugColor(false);
457 459
458 // Record everything as a slightly lighter white. 460 // Record everything as a slightly lighter white.
459 const unsigned alpha_light = 18u; 461 const unsigned alpha_light = 18u;
460 white_paint.setAlpha(alpha_light); 462 white_paint.setAlpha(alpha_light);
461 recording_source_light->add_draw_rect_with_paint(gfx::Rect(layer_bounds), 463 recording_source_light->add_draw_rect_with_paint(gfx::Rect(layer_bounds),
462 white_paint); 464 white_paint);
(...skipping 22 matching lines...) Expand all
485 EXPECT_EQ(alpha_light, SkColorGetG(pixels[i + j * bitmap.width()])); 487 EXPECT_EQ(alpha_light, SkColorGetG(pixels[i + j * bitmap.width()]));
486 EXPECT_EQ(alpha_light, SkColorGetB(pixels[i + j * bitmap.width()])); 488 EXPECT_EQ(alpha_light, SkColorGetB(pixels[i + j * bitmap.width()]));
487 } 489 }
488 } 490 }
489 } 491 }
490 492
491 TEST(RasterSourceTest, RasterContentsTransparent) { 493 TEST(RasterSourceTest, RasterContentsTransparent) {
492 gfx::Size layer_bounds(5, 3); 494 gfx::Size layer_bounds(5, 3);
493 float contents_scale = 0.5f; 495 float contents_scale = 0.5f;
494 496
495 scoped_ptr<FakeRecordingSource> recording_source = 497 std::unique_ptr<FakeRecordingSource> recording_source =
496 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 498 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
497 recording_source->SetBackgroundColor(SK_ColorTRANSPARENT); 499 recording_source->SetBackgroundColor(SK_ColorTRANSPARENT);
498 recording_source->SetRequiresClear(true); 500 recording_source->SetRequiresClear(true);
499 recording_source->SetClearCanvasWithDebugColor(false); 501 recording_source->SetClearCanvasWithDebugColor(false);
500 recording_source->Rerecord(); 502 recording_source->Rerecord();
501 503
502 scoped_refptr<RasterSource> raster = 504 scoped_refptr<RasterSource> raster =
503 RasterSource::CreateFromRecordingSource(recording_source.get(), false); 505 RasterSource::CreateFromRecordingSource(recording_source.get(), false);
504 gfx::Size content_bounds( 506 gfx::Size content_bounds(
505 gfx::ScaleToCeiledSize(layer_bounds, contents_scale)); 507 gfx::ScaleToCeiledSize(layer_bounds, contents_scale));
(...skipping 11 matching lines...) Expand all
517 SkColor* pixels = reinterpret_cast<SkColor*>(bitmap.getPixels()); 519 SkColor* pixels = reinterpret_cast<SkColor*>(bitmap.getPixels());
518 int num_pixels = bitmap.width() * bitmap.height(); 520 int num_pixels = bitmap.width() * bitmap.height();
519 for (int i = 0; i < num_pixels; ++i) { 521 for (int i = 0; i < num_pixels; ++i) {
520 EXPECT_EQ(SkColorGetA(pixels[i]), 0u); 522 EXPECT_EQ(SkColorGetA(pixels[i]), 0u);
521 } 523 }
522 } 524 }
523 525
524 TEST(RasterSourceTest, GetPictureMemoryUsageIncludesClientReportedMemory) { 526 TEST(RasterSourceTest, GetPictureMemoryUsageIncludesClientReportedMemory) {
525 const size_t kReportedMemoryUsageInBytes = 100 * 1024 * 1024; 527 const size_t kReportedMemoryUsageInBytes = 100 * 1024 * 1024;
526 gfx::Size layer_bounds(5, 3); 528 gfx::Size layer_bounds(5, 3);
527 scoped_ptr<FakeRecordingSource> recording_source = 529 std::unique_ptr<FakeRecordingSource> recording_source =
528 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds); 530 FakeRecordingSource::CreateFilledRecordingSource(layer_bounds);
529 recording_source->set_reported_memory_usage(kReportedMemoryUsageInBytes); 531 recording_source->set_reported_memory_usage(kReportedMemoryUsageInBytes);
530 recording_source->Rerecord(); 532 recording_source->Rerecord();
531 533
532 scoped_refptr<RasterSource> raster = 534 scoped_refptr<RasterSource> raster =
533 RasterSource::CreateFromRecordingSource(recording_source.get(), false); 535 RasterSource::CreateFromRecordingSource(recording_source.get(), false);
534 size_t total_memory_usage = raster->GetPictureMemoryUsage(); 536 size_t total_memory_usage = raster->GetPictureMemoryUsage();
535 EXPECT_GE(total_memory_usage, kReportedMemoryUsageInBytes); 537 EXPECT_GE(total_memory_usage, kReportedMemoryUsageInBytes);
536 EXPECT_LT(total_memory_usage, 2 * kReportedMemoryUsageInBytes); 538 EXPECT_LT(total_memory_usage, 2 * kReportedMemoryUsageInBytes);
537 } 539 }
538 540
539 } // namespace 541 } // namespace
540 } // namespace cc 542 } // namespace cc
OLDNEW
« no previous file with comments | « cc/playback/raster_source.h ('k') | cc/playback/recording_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698