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

Side by Side Diff: third_party/WebKit/Source/core/layout/ImageQualityControllerTest.cpp

Issue 2523673004: [NOT FOR COMMIT] Fully replace SkCanvas uses.
Patch Set: Support Android build. Created 3 years, 12 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "core/layout/ImageQualityController.h" 5 #include "core/layout/ImageQualityController.h"
6 6
7 #include "core/layout/LayoutImage.h" 7 #include "core/layout/LayoutImage.h"
8 #include "core/layout/LayoutTestHelper.h" 8 #include "core/layout/LayoutTestHelper.h"
9 #include "platform/graphics/GraphicsContext.h" 9 #include "platform/graphics/GraphicsContext.h"
10 #include "platform/graphics/paint/PaintController.h" 10 #include "platform/graphics/paint/PaintController.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #if !USE(LOW_QUALITY_IMAGE_INTERPOLATION) 48 #if !USE(LOW_QUALITY_IMAGE_INTERPOLATION)
49 49
50 class TestImageAnimated : public Image { 50 class TestImageAnimated : public Image {
51 public: 51 public:
52 bool maybeAnimated() override { return true; } 52 bool maybeAnimated() override { return true; }
53 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override { 53 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override {
54 return false; 54 return false;
55 } 55 }
56 IntSize size() const override { return IntSize(); } 56 IntSize size() const override { return IntSize(); }
57 void destroyDecodedData() override {} 57 void destroyDecodedData() override {}
58 void draw(SkCanvas*, 58 void draw(CdlCanvas*,
59 const SkPaint&, 59 const CdlPaint&,
60 const FloatRect& dstRect, 60 const FloatRect& dstRect,
61 const FloatRect& srcRect, 61 const FloatRect& srcRect,
62 RespectImageOrientationEnum, 62 RespectImageOrientationEnum,
63 ImageClampingMode) override {} 63 ImageClampingMode) override {}
64 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; } 64 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; }
65 }; 65 };
66 66
67 TEST_F(ImageQualityControllerTest, ImageMaybeAnimated) { 67 TEST_F(ImageQualityControllerTest, ImageMaybeAnimated) {
68 setBodyInnerHTML("<img src='myimage'></img>"); 68 setBodyInnerHTML("<img src='myimage'></img>");
69 LayoutImage* img = 69 LayoutImage* img =
70 toLayoutImage(document().body()->firstChild()->layoutObject()); 70 toLayoutImage(document().body()->firstChild()->layoutObject());
71 71
72 RefPtr<TestImageAnimated> testImage = adoptRef(new TestImageAnimated); 72 RefPtr<TestImageAnimated> testImage = adoptRef(new TestImageAnimated);
73 EXPECT_EQ(InterpolationMedium, 73 EXPECT_EQ(InterpolationMedium,
74 controller()->chooseInterpolationQuality(*img, testImage.get(), 74 controller()->chooseInterpolationQuality(*img, testImage.get(),
75 nullptr, LayoutSize())); 75 nullptr, LayoutSize()));
76 } 76 }
77 77
78 class TestImageWithContrast : public Image { 78 class TestImageWithContrast : public Image {
79 public: 79 public:
80 bool maybeAnimated() override { return true; } 80 bool maybeAnimated() override { return true; }
81 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override { 81 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override {
82 return false; 82 return false;
83 } 83 }
84 IntSize size() const override { return IntSize(); } 84 IntSize size() const override { return IntSize(); }
85 void destroyDecodedData() override {} 85 void destroyDecodedData() override {}
86 void draw(SkCanvas*, 86 void draw(CdlCanvas*,
87 const SkPaint&, 87 const CdlPaint&,
88 const FloatRect& dstRect, 88 const FloatRect& dstRect,
89 const FloatRect& srcRect, 89 const FloatRect& srcRect,
90 RespectImageOrientationEnum, 90 RespectImageOrientationEnum,
91 ImageClampingMode) override {} 91 ImageClampingMode) override {}
92 92
93 bool isBitmapImage() const override { return true; } 93 bool isBitmapImage() const override { return true; }
94 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; } 94 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; }
95 }; 95 };
96 96
97 TEST_F(ImageQualityControllerTest, LowQualityFilterForContrast) { 97 TEST_F(ImageQualityControllerTest, LowQualityFilterForContrast) {
(...skipping 10 matching lines...) Expand all
108 } 108 }
109 109
110 class TestImageLowQuality : public Image { 110 class TestImageLowQuality : public Image {
111 public: 111 public:
112 bool maybeAnimated() override { return true; } 112 bool maybeAnimated() override { return true; }
113 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override { 113 bool currentFrameKnownToBeOpaque(MetadataMode = UseCurrentMetadata) override {
114 return false; 114 return false;
115 } 115 }
116 IntSize size() const override { return IntSize(1, 1); } 116 IntSize size() const override { return IntSize(1, 1); }
117 void destroyDecodedData() override {} 117 void destroyDecodedData() override {}
118 void draw(SkCanvas*, 118 void draw(CdlCanvas*,
119 const SkPaint&, 119 const CdlPaint&,
120 const FloatRect& dstRect, 120 const FloatRect& dstRect,
121 const FloatRect& srcRect, 121 const FloatRect& srcRect,
122 RespectImageOrientationEnum, 122 RespectImageOrientationEnum,
123 ImageClampingMode) override {} 123 ImageClampingMode) override {}
124 124
125 bool isBitmapImage() const override { return true; } 125 bool isBitmapImage() const override { return true; }
126 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; } 126 sk_sp<SkImage> imageForCurrentFrame() override { return nullptr; }
127 }; 127 };
128 128
129 TEST_F(ImageQualityControllerTest, MediumQualityFilterForUnscaledImage) { 129 TEST_F(ImageQualityControllerTest, MediumQualityFilterForUnscaledImage) {
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 *img, testImage.get(), testImage.get(), LayoutSize(4, 4), 338 *img, testImage.get(), testImage.get(), LayoutSize(4, 4),
339 nextTime)); 339 nextTime));
340 // Now the timer has restarted, leading to a larger fire interval. 340 // Now the timer has restarted, leading to a larger fire interval.
341 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold, 341 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold,
342 mockTimer->nextFireInterval()); 342 mockTimer->nextFireInterval());
343 } 343 }
344 344
345 #endif 345 #endif
346 346
347 } // namespace blink 347 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698