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

Side by Side Diff: chrome/browser/history/select_favicon_frames_unittest.cc

Issue 24175004: Remove dependency on ui::ScaleFactor from ui/gfx (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename methods and vars to make image_scale more clear Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/history/select_favicon_frames.h" 5 #include "chrome/browser/history/select_favicon_frames.h"
6 6
7 #include "ui/base/layout.h" 7 #include "ui/base/layout.h"
8 #include "ui/gfx/image/image_skia.h" 8 #include "ui/gfx/image/image_skia.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/skia/include/core/SkBitmap.h" 10 #include "third_party/skia/include/core/SkBitmap.h"
(...skipping 17 matching lines...) Expand all
28 SkBitmap MakeBitmap(SkColor color, int w, int h) { 28 SkBitmap MakeBitmap(SkColor color, int w, int h) {
29 SkBitmap bitmap; 29 SkBitmap bitmap;
30 bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h); 30 bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h);
31 bitmap.allocPixels(); 31 bitmap.allocPixels();
32 bitmap.eraseColor(color); 32 bitmap.eraseColor(color);
33 return bitmap; 33 return bitmap;
34 } 34 }
35 35
36 SkColor GetColor(const gfx::ImageSkia& image, ui::ScaleFactor factor, 36 SkColor GetColor(const gfx::ImageSkia& image, ui::ScaleFactor factor,
37 int x = -1, int y = -1) { 37 int x = -1, int y = -1) {
38 const SkBitmap& bitmap = image.GetRepresentation(factor).sk_bitmap(); 38 const SkBitmap& bitmap =
39 image.GetRepresentation(ui::GetImageScale(factor)).sk_bitmap();
39 if (x == -1) 40 if (x == -1)
40 x = bitmap.width() / 2; 41 x = bitmap.width() / 2;
41 if (y == -1) 42 if (y == -1)
42 y = bitmap.width() / 2; 43 y = bitmap.width() / 2;
43 bitmap.lockPixels(); 44 bitmap.lockPixels();
44 SkColor color = bitmap.getColor(x, y); 45 SkColor color = bitmap.getColor(x, y);
45 bitmap.unlockPixels(); 46 bitmap.unlockPixels();
46 return color; 47 return color;
47 } 48 }
48 49
49 SkColor GetColor1x(const gfx::ImageSkia& image) { 50 SkColor GetColor1x(const gfx::ImageSkia& image) {
50 return GetColor(image, ui::SCALE_FACTOR_100P); 51 return GetColor(image, ui::SCALE_FACTOR_100P);
51 } 52 }
52 53
53 SkColor GetColor2x(const gfx::ImageSkia& image) { 54 SkColor GetColor2x(const gfx::ImageSkia& image) {
54 return GetColor(image, ui::SCALE_FACTOR_200P); 55 return GetColor(image, ui::SCALE_FACTOR_200P);
55 } 56 }
56 57
57 TEST(SelectFaviconFramesTest, ZeroSizePicksLargest) { 58 TEST(SelectFaviconFramesTest, ZeroSizePicksLargest) {
58 vector<SkBitmap> bitmaps; 59 vector<SkBitmap> bitmaps;
59 bitmaps.push_back(MakeBitmap(SK_ColorRED, 16, 16)); 60 bitmaps.push_back(MakeBitmap(SK_ColorRED, 16, 16));
60 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); 61 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 48, 48));
61 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32)); 62 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32));
62 63
63 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 0, NULL); 64 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 0, NULL);
64 EXPECT_EQ(1u, image.image_reps().size()); 65 EXPECT_EQ(1u, image.image_reps().size());
65 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 66 ASSERT_TRUE(image.HasRepresentation(1.0f));
66 EXPECT_EQ(48, image.width()); 67 EXPECT_EQ(48, image.width());
67 EXPECT_EQ(48, image.height()); 68 EXPECT_EQ(48, image.height());
68 69
69 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 70 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
70 } 71 }
71 72
72 TEST(SelectFaviconFramesTest, _16From16) { 73 TEST(SelectFaviconFramesTest, _16From16) {
73 vector<SkBitmap> bitmaps; 74 vector<SkBitmap> bitmaps;
74 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15)); 75 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15));
75 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 76 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
76 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 17, 17)); 77 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 17, 17));
77 78
78 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL); 79 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL);
79 EXPECT_EQ(1u, image.image_reps().size()); 80 EXPECT_EQ(1u, image.image_reps().size());
80 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 81 ASSERT_TRUE(image.HasRepresentation(1.0f));
81 EXPECT_EQ(16, image.width()); 82 EXPECT_EQ(16, image.width());
82 EXPECT_EQ(16, image.height()); 83 EXPECT_EQ(16, image.height());
83 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 84 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
84 } 85 }
85 86
86 TEST(SelectFaviconFramesTest, _16From17) { 87 TEST(SelectFaviconFramesTest, _16From17) {
87 vector<SkBitmap> bitmaps; 88 vector<SkBitmap> bitmaps;
88 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15)); 89 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15));
89 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 17, 17)); 90 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 17, 17));
90 91
91 // Should resample from the bigger candidate. 92 // Should resample from the bigger candidate.
92 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL); 93 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL);
93 EXPECT_EQ(1u, image.image_reps().size()); 94 EXPECT_EQ(1u, image.image_reps().size());
94 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 95 ASSERT_TRUE(image.HasRepresentation(1.0f));
95 EXPECT_EQ(16, image.width()); 96 EXPECT_EQ(16, image.width());
96 EXPECT_EQ(16, image.height()); 97 EXPECT_EQ(16, image.height());
97 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 98 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
98 } 99 }
99 100
100 TEST(SelectFaviconFramesTest, _16From15) { 101 TEST(SelectFaviconFramesTest, _16From15) {
101 vector<SkBitmap> bitmaps; 102 vector<SkBitmap> bitmaps;
102 bitmaps.push_back(MakeBitmap(SK_ColorRED, 14, 14)); 103 bitmaps.push_back(MakeBitmap(SK_ColorRED, 14, 14));
103 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); 104 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 15, 15));
104 105
105 // If nothing else is available, should resample from the next smaller 106 // If nothing else is available, should resample from the next smaller
106 // candidate. 107 // candidate.
107 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL); 108 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x(), 16, NULL);
108 EXPECT_EQ(1u, image.image_reps().size()); 109 EXPECT_EQ(1u, image.image_reps().size());
109 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 110 ASSERT_TRUE(image.HasRepresentation(1.0f));
110 EXPECT_EQ(16, image.width()); 111 EXPECT_EQ(16, image.width());
111 EXPECT_EQ(16, image.height()); 112 EXPECT_EQ(16, image.height());
112 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 113 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
113 } 114 }
114 115
115 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_16) { 116 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_16) {
116 vector<SkBitmap> bitmaps; 117 vector<SkBitmap> bitmaps;
117 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 118 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
118 119
119 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x2x(), 16, NULL); 120 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x2x(), 16, NULL);
120 EXPECT_EQ(2u, image.image_reps().size()); 121 EXPECT_EQ(2u, image.image_reps().size());
121 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 122 ASSERT_TRUE(image.HasRepresentation(1.0f));
122 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_200P)); 123 ASSERT_TRUE(image.HasRepresentation(2.0f));
123 EXPECT_EQ(16, image.width()); 124 EXPECT_EQ(16, image.width());
124 EXPECT_EQ(16, image.height()); 125 EXPECT_EQ(16, image.height());
125 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 126 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
126 EXPECT_EQ(SK_ColorGREEN, GetColor2x(image)); 127 EXPECT_EQ(SK_ColorGREEN, GetColor2x(image));
127 } 128 }
128 129
129 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_32) { 130 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_32) {
130 vector<SkBitmap> bitmaps; 131 vector<SkBitmap> bitmaps;
131 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 132 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
132 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32)); 133 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32));
133 134
134 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x2x(), 16, NULL); 135 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, Scale1x2x(), 16, NULL);
135 EXPECT_EQ(2u, image.image_reps().size()); 136 EXPECT_EQ(2u, image.image_reps().size());
136 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P)); 137 ASSERT_TRUE(image.HasRepresentation(1.0f));
137 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_200P)); 138 ASSERT_TRUE(image.HasRepresentation(2.0f));
138 EXPECT_EQ(16, image.width()); 139 EXPECT_EQ(16, image.width());
139 EXPECT_EQ(16, image.height()); 140 EXPECT_EQ(16, image.height());
140 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 141 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
141 EXPECT_EQ(SK_ColorBLUE, GetColor2x(image)); 142 EXPECT_EQ(SK_ColorBLUE, GetColor2x(image));
142 } 143 }
143 144
144 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) { 145 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) {
145 float score1; 146 float score1;
146 vector<SkBitmap> bitmaps1; 147 vector<SkBitmap> bitmaps1;
147 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); 148 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48));
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 219
219 float score2; 220 float score2;
220 vector<SkBitmap> bitmaps2; 221 vector<SkBitmap> bitmaps2;
221 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 9, 9)); 222 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 9, 9));
222 SelectFaviconFrames(bitmaps2, Scale1x2x(), 16, &score2); 223 SelectFaviconFrames(bitmaps2, Scale1x2x(), 16, &score2);
223 224
224 EXPECT_GT(score2, score1); 225 EXPECT_GT(score2, score1);
225 } 226 }
226 227
227 } // namespace 228 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698