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

Side by Side Diff: cc/paint/paint_op_buffer_unittest.cc

Issue 2893083002: cc: Move SkShader construction to a single spot in PaintShader (Closed)
Patch Set: update Created 3 years, 7 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/paint/paint_op_buffer.h" 5 #include "cc/paint/paint_op_buffer.h"
6 #include "base/memory/ptr_util.h"
6 #include "cc/paint/display_item_list.h" 7 #include "cc/paint/display_item_list.h"
7 #include "cc/test/skia_common.h" 8 #include "cc/test/skia_common.h"
8 #include "cc/test/test_skcanvas.h" 9 #include "cc/test/test_skcanvas.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/skia/include/effects/SkDashPathEffect.h" 11 #include "third_party/skia/include/effects/SkDashPathEffect.h"
11 12
12 namespace { 13 namespace {
13 14
14 template <typename T> 15 template <typename T>
15 void CheckRefCnt(const T& obj, int32_t count) { 16 void CheckRefCnt(const T& obj, int32_t count) {
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 list->Finalize(); 434 list->Finalize();
434 PaintOpBuffer new_buffer; 435 PaintOpBuffer new_buffer;
435 new_buffer.push<DrawDisplayItemListOp>(list); 436 new_buffer.push<DrawDisplayItemListOp>(list);
436 EXPECT_TRUE(new_buffer.HasDiscardableImages()); 437 EXPECT_TRUE(new_buffer.HasDiscardableImages());
437 } 438 }
438 439
439 TEST(PaintOpBufferTest, DiscardableImagesTracking_OpWithFlags) { 440 TEST(PaintOpBufferTest, DiscardableImagesTracking_OpWithFlags) {
440 PaintOpBuffer buffer; 441 PaintOpBuffer buffer;
441 PaintFlags flags; 442 PaintFlags flags;
442 sk_sp<SkImage> image = CreateDiscardableImage(gfx::Size(100, 100)); 443 sk_sp<SkImage> image = CreateDiscardableImage(gfx::Size(100, 100));
443 flags.setShader( 444 flags.setShader(base::MakeUnique<PaintShader>(
444 image->makeShader(SkShader::kClamp_TileMode, SkShader::kClamp_TileMode)); 445 image, SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, nullptr));
445 buffer.push<DrawRectOp>(SkRect::MakeWH(100, 100), flags); 446 buffer.push<DrawRectOp>(SkRect::MakeWH(100, 100), flags);
446 EXPECT_TRUE(buffer.HasDiscardableImages()); 447 EXPECT_TRUE(buffer.HasDiscardableImages());
447 } 448 }
448 449
449 TEST(PaintOpBufferTest, SlowPaths) { 450 TEST(PaintOpBufferTest, SlowPaths) {
450 auto buffer = sk_make_sp<PaintOpBuffer>(); 451 auto buffer = sk_make_sp<PaintOpBuffer>();
451 EXPECT_EQ(buffer->numSlowPaths(), 0); 452 EXPECT_EQ(buffer->numSlowPaths(), 0);
452 453
453 // Op without slow paths 454 // Op without slow paths
454 PaintFlags noop_flags; 455 PaintFlags noop_flags;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 491
491 // Drawing a record with slow paths into another adds the same 492 // Drawing a record with slow paths into another adds the same
492 // number of slow paths as the record. 493 // number of slow paths as the record.
493 auto buffer2 = sk_make_sp<PaintOpBuffer>(); 494 auto buffer2 = sk_make_sp<PaintOpBuffer>();
494 EXPECT_EQ(buffer2->numSlowPaths(), 0); 495 EXPECT_EQ(buffer2->numSlowPaths(), 0);
495 buffer2->push<DrawRecordOp>(buffer); 496 buffer2->push<DrawRecordOp>(buffer);
496 EXPECT_EQ(buffer->numSlowPaths(), buffer2->numSlowPaths()); 497 EXPECT_EQ(buffer->numSlowPaths(), buffer2->numSlowPaths());
497 } 498 }
498 499
499 } // namespace cc 500 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698