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

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

Issue 2893083002: cc: Move SkShader construction to a single spot in PaintShader (Closed)
Patch Set: update Created 3 years, 6 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 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/paint/discardable_image_map.h" 5 #include "cc/paint/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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 // transforms, so we can't let the scale drop all the way to 0. 593 // transforms, so we can't let the scale drop all the way to 0.
594 static constexpr float kMinScale = 0.1f; 594 static constexpr float kMinScale = 0.1f;
595 595
596 for (int y = 0; y < 4; ++y) { 596 for (int y = 0; y < 4; ++y) {
597 for (int x = 0; x < 4; ++x) { 597 for (int x = 0; x < 4; ++x) {
598 if ((x + y) & 1) { 598 if ((x + y) & 1) {
599 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500)); 599 discardable_image[y][x] = CreateDiscardableImage(gfx::Size(500, 500));
600 SkMatrix scale = SkMatrix::MakeScale(std::max(x * 0.5f, kMinScale), 600 SkMatrix scale = SkMatrix::MakeScale(std::max(x * 0.5f, kMinScale),
601 std::max(y * 0.5f, kMinScale)); 601 std::max(y * 0.5f, kMinScale));
602 PaintFlags flags; 602 PaintFlags flags;
603 flags.setShader(discardable_image[y][x]->makeShader( 603 flags.setShader(base::MakeUnique<PaintShader>(
604 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &scale)); 604 discardable_image[y][x], SkShader::kClamp_TileMode,
605 SkShader::kClamp_TileMode, &scale));
605 content_layer_client.add_draw_rect( 606 content_layer_client.add_draw_rect(
606 gfx::Rect(x * 512 + 6, y * 512 + 6, 500, 500), flags); 607 gfx::Rect(x * 512 + 6, y * 512 + 6, 500, 500), flags);
607 } 608 }
608 } 609 }
609 } 610 }
610 611
611 scoped_refptr<DisplayItemList> display_list = 612 scoped_refptr<DisplayItemList> display_list =
612 content_layer_client.PaintContentsToDisplayList( 613 content_layer_client.PaintContentsToDisplayList(
613 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL); 614 ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
614 display_list->GenerateDiscardableImagesMetadata(); 615 display_list->GenerateDiscardableImagesMetadata();
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 EXPECT_TRUE(discardable_image == images[0].paint_image()); 710 EXPECT_TRUE(discardable_image == images[0].paint_image());
710 711
711 images.clear(); 712 images.clear();
712 image_map_.GetDiscardableImagesInRect(gfx::Rect(105, 105, 5, 95), 1.f, 713 image_map_.GetDiscardableImagesInRect(gfx::Rect(105, 105, 5, 95), 1.f,
713 target_color_space, &images); 714 target_color_space, &images);
714 EXPECT_EQ(1u, images.size()); 715 EXPECT_EQ(1u, images.size());
715 EXPECT_TRUE(discardable_image2 == images[0].paint_image()); 716 EXPECT_TRUE(discardable_image2 == images[0].paint_image());
716 } 717 }
717 718
718 } // namespace cc 719 } // namespace cc
OLDNEW
« no previous file with comments | « cc/paint/BUILD.gn ('k') | cc/paint/discardable_image_store.cc » ('j') | cc/paint/paint_flags.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698