| OLD | NEW |
| 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 26 matching lines...) Expand all Loading... |
| 37 sk_sp<const SkImage> image; | 37 sk_sp<const SkImage> image; |
| 38 gfx::Rect image_rect; | 38 gfx::Rect image_rect; |
| 39 SkSize scale; | 39 SkSize scale; |
| 40 }; | 40 }; |
| 41 | 41 |
| 42 sk_sp<PaintRecord> CreateRecording(const sk_sp<SkImage>& discardable_image, | 42 sk_sp<PaintRecord> CreateRecording(const sk_sp<SkImage>& discardable_image, |
| 43 const gfx::Rect& visible_rect) { | 43 const gfx::Rect& visible_rect) { |
| 44 PaintRecorder recorder; | 44 PaintRecorder recorder; |
| 45 PaintCanvas* canvas = | 45 PaintCanvas* canvas = |
| 46 recorder.beginRecording(visible_rect.width(), visible_rect.height()); | 46 recorder.beginRecording(visible_rect.width(), visible_rect.height()); |
| 47 canvas->drawImage(PaintImage(PaintImage::GetNextId(), discardable_image, | 47 canvas->drawImage( |
| 48 PaintImage::AnimationType::STATIC, | 48 PaintImage(discardable_image, PaintImage::AnimationType::STATIC, |
| 49 PaintImage::CompletionState::DONE), | 49 PaintImage::CompletionState::DONE), |
| 50 0, 0, nullptr); | 50 0, 0, nullptr); |
| 51 sk_sp<PaintRecord> record = recorder.finishRecordingAsPicture(); | 51 sk_sp<PaintRecord> record = recorder.finishRecordingAsPicture(); |
| 52 return record; | 52 return record; |
| 53 } | 53 } |
| 54 | 54 |
| 55 } // namespace | 55 } // namespace |
| 56 | 56 |
| 57 class DiscardableImageMapTest : public testing::Test { | 57 class DiscardableImageMapTest : public testing::Test { |
| 58 public: | 58 public: |
| 59 std::vector<PositionScaleDrawImage> GetDiscardableImagesInRect( | 59 std::vector<PositionScaleDrawImage> GetDiscardableImagesInRect( |
| 60 const DiscardableImageMap& image_map, | 60 const DiscardableImageMap& image_map, |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 EXPECT_EQ(1u, images.size()); | 671 EXPECT_EQ(1u, images.size()); |
| 672 EXPECT_TRUE(images[0].image == discardable_image); | 672 EXPECT_TRUE(images[0].image == discardable_image); |
| 673 EXPECT_EQ(gfx::Rect(250, 250), inset_rects[0]); | 673 EXPECT_EQ(gfx::Rect(250, 250), inset_rects[0]); |
| 674 } | 674 } |
| 675 | 675 |
| 676 TEST_F(DiscardableImageMapTest, GathersDiscardableImagesFromNestedOps) { | 676 TEST_F(DiscardableImageMapTest, GathersDiscardableImagesFromNestedOps) { |
| 677 sk_sp<PaintRecord> internal_record = sk_make_sp<PaintRecord>(); | 677 sk_sp<PaintRecord> internal_record = sk_make_sp<PaintRecord>(); |
| 678 sk_sp<SkImage> discardable_image = | 678 sk_sp<SkImage> discardable_image = |
| 679 CreateDiscardableImage(gfx::Size(100, 100)); | 679 CreateDiscardableImage(gfx::Size(100, 100)); |
| 680 internal_record->push<DrawImageOp>( | 680 internal_record->push<DrawImageOp>( |
| 681 PaintImage(PaintImage::GetNextId(), discardable_image, | 681 PaintImage(discardable_image, PaintImage::AnimationType::STATIC, |
| 682 PaintImage::AnimationType::STATIC, | |
| 683 PaintImage::CompletionState::DONE), | 682 PaintImage::CompletionState::DONE), |
| 684 0.f, 0.f, nullptr); | 683 0.f, 0.f, nullptr); |
| 685 | 684 |
| 686 sk_sp<PaintRecord> list_record = sk_make_sp<PaintRecord>(); | 685 sk_sp<PaintRecord> list_record = sk_make_sp<PaintRecord>(); |
| 687 sk_sp<SkImage> discardable_image2 = | 686 sk_sp<SkImage> discardable_image2 = |
| 688 CreateDiscardableImage(gfx::Size(100, 100)); | 687 CreateDiscardableImage(gfx::Size(100, 100)); |
| 689 list_record->push<DrawImageOp>( | 688 list_record->push<DrawImageOp>( |
| 690 PaintImage(PaintImage::GetNextId(), discardable_image2, | 689 PaintImage(discardable_image2, PaintImage::AnimationType::STATIC, |
| 691 PaintImage::AnimationType::STATIC, | |
| 692 PaintImage::CompletionState::DONE), | 690 PaintImage::CompletionState::DONE), |
| 693 100.f, 100.f, nullptr); | 691 100.f, 100.f, nullptr); |
| 694 scoped_refptr<DisplayItemList> display_list = new DisplayItemList; | 692 scoped_refptr<DisplayItemList> display_list = new DisplayItemList; |
| 695 display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>( | 693 display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>( |
| 696 gfx::Rect(100, 100, 100, 100), list_record); | 694 gfx::Rect(100, 100, 100, 100), list_record); |
| 697 display_list->Finalize(); | 695 display_list->Finalize(); |
| 698 | 696 |
| 699 PaintOpBuffer buffer; | 697 PaintOpBuffer buffer; |
| 700 buffer.push<DrawRecordOp>(internal_record); | 698 buffer.push<DrawRecordOp>(internal_record); |
| 701 buffer.push<DrawDisplayItemListOp>(display_list); | 699 buffer.push<DrawDisplayItemListOp>(display_list); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 714 EXPECT_TRUE(discardable_image == images[0].image()); | 712 EXPECT_TRUE(discardable_image == images[0].image()); |
| 715 | 713 |
| 716 images.clear(); | 714 images.clear(); |
| 717 image_map_.GetDiscardableImagesInRect(gfx::Rect(105, 105, 5, 95), 1.f, | 715 image_map_.GetDiscardableImagesInRect(gfx::Rect(105, 105, 5, 95), 1.f, |
| 718 target_color_space, &images); | 716 target_color_space, &images); |
| 719 EXPECT_EQ(1u, images.size()); | 717 EXPECT_EQ(1u, images.size()); |
| 720 EXPECT_TRUE(discardable_image2 == images[0].image()); | 718 EXPECT_TRUE(discardable_image2 == images[0].image()); |
| 721 } | 719 } |
| 722 | 720 |
| 723 } // namespace cc | 721 } // namespace cc |
| OLD | NEW |