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

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

Issue 24262008: Revert 224473 "Remove dependency on ui::ScaleFactor from ui/gfx" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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 25 matching lines...) Expand all
36 SkBitmap MakeBitmap(SkColor color, int w, int h) { 36 SkBitmap MakeBitmap(SkColor color, int w, int h) {
37 SkBitmap bitmap; 37 SkBitmap bitmap;
38 bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h); 38 bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h);
39 bitmap.allocPixels(); 39 bitmap.allocPixels();
40 bitmap.eraseColor(color); 40 bitmap.eraseColor(color);
41 return bitmap; 41 return bitmap;
42 } 42 }
43 43
44 SkColor GetColor(const gfx::ImageSkia& image, ui::ScaleFactor factor, 44 SkColor GetColor(const gfx::ImageSkia& image, ui::ScaleFactor factor,
45 int x = -1, int y = -1) { 45 int x = -1, int y = -1) {
46 const SkBitmap& bitmap = 46 const SkBitmap& bitmap = image.GetRepresentation(factor).sk_bitmap();
47 image.GetRepresentation(ui::GetImageScale(factor)).sk_bitmap();
48 if (x == -1) 47 if (x == -1)
49 x = bitmap.width() / 2; 48 x = bitmap.width() / 2;
50 if (y == -1) 49 if (y == -1)
51 y = bitmap.width() / 2; 50 y = bitmap.width() / 2;
52 bitmap.lockPixels(); 51 bitmap.lockPixels();
53 SkColor color = bitmap.getColor(x, y); 52 SkColor color = bitmap.getColor(x, y);
54 bitmap.unlockPixels(); 53 bitmap.unlockPixels();
55 return color; 54 return color;
56 } 55 }
57 56
58 SkColor GetColor1x(const gfx::ImageSkia& image) { 57 SkColor GetColor1x(const gfx::ImageSkia& image) {
59 return GetColor(image, ui::SCALE_FACTOR_100P); 58 return GetColor(image, ui::SCALE_FACTOR_100P);
60 } 59 }
61 60
62 SkColor GetColor2x(const gfx::ImageSkia& image) { 61 SkColor GetColor2x(const gfx::ImageSkia& image) {
63 return GetColor(image, ui::SCALE_FACTOR_200P); 62 return GetColor(image, ui::SCALE_FACTOR_200P);
64 } 63 }
65 64
66 TEST(SelectFaviconFramesTest, ZeroSizePicksLargest) { 65 TEST(SelectFaviconFramesTest, ZeroSizePicksLargest) {
67 vector<SkBitmap> bitmaps; 66 vector<SkBitmap> bitmaps;
68 bitmaps.push_back(MakeBitmap(SK_ColorRED, 16, 16)); 67 bitmaps.push_back(MakeBitmap(SK_ColorRED, 16, 16));
69 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); 68 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 48, 48));
70 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32)); 69 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32));
71 70
72 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 71 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
73 SizesFromBitmaps(bitmaps), Scale1x(), 0, NULL); 72 SizesFromBitmaps(bitmaps), Scale1x(), 0, NULL);
74 EXPECT_EQ(1u, image.image_reps().size()); 73 EXPECT_EQ(1u, image.image_reps().size());
75 ASSERT_TRUE(image.HasRepresentation(1.0f)); 74 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
76 EXPECT_EQ(48, image.width()); 75 EXPECT_EQ(48, image.width());
77 EXPECT_EQ(48, image.height()); 76 EXPECT_EQ(48, image.height());
78 77
79 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 78 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
80 } 79 }
81 80
82 TEST(SelectFaviconFramesTest, _16From16) { 81 TEST(SelectFaviconFramesTest, _16From16) {
83 vector<SkBitmap> bitmaps; 82 vector<SkBitmap> bitmaps;
84 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15)); 83 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15));
85 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 84 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
86 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 17, 17)); 85 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 17, 17));
87 86
88 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 87 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
89 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL); 88 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL);
90 EXPECT_EQ(1u, image.image_reps().size()); 89 EXPECT_EQ(1u, image.image_reps().size());
91 ASSERT_TRUE(image.HasRepresentation(1.0f)); 90 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
92 EXPECT_EQ(16, image.width()); 91 EXPECT_EQ(16, image.width());
93 EXPECT_EQ(16, image.height()); 92 EXPECT_EQ(16, image.height());
94 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 93 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
95 } 94 }
96 95
97 TEST(SelectFaviconFramesTest, _16From17) { 96 TEST(SelectFaviconFramesTest, _16From17) {
98 vector<SkBitmap> bitmaps; 97 vector<SkBitmap> bitmaps;
99 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15)); 98 bitmaps.push_back(MakeBitmap(SK_ColorRED, 15, 15));
100 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 17, 17)); 99 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 17, 17));
101 100
102 // Should resample from the bigger candidate. 101 // Should resample from the bigger candidate.
103 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 102 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
104 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL); 103 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL);
105 EXPECT_EQ(1u, image.image_reps().size()); 104 EXPECT_EQ(1u, image.image_reps().size());
106 ASSERT_TRUE(image.HasRepresentation(1.0f)); 105 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
107 EXPECT_EQ(16, image.width()); 106 EXPECT_EQ(16, image.width());
108 EXPECT_EQ(16, image.height()); 107 EXPECT_EQ(16, image.height());
109 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 108 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
110 } 109 }
111 110
112 TEST(SelectFaviconFramesTest, _16From15) { 111 TEST(SelectFaviconFramesTest, _16From15) {
113 vector<SkBitmap> bitmaps; 112 vector<SkBitmap> bitmaps;
114 bitmaps.push_back(MakeBitmap(SK_ColorRED, 14, 14)); 113 bitmaps.push_back(MakeBitmap(SK_ColorRED, 14, 14));
115 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); 114 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 15, 15));
116 115
117 // If nothing else is available, should resample from the next smaller 116 // If nothing else is available, should resample from the next smaller
118 // candidate. 117 // candidate.
119 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 118 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
120 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL); 119 SizesFromBitmaps(bitmaps), Scale1x(), 16, NULL);
121 EXPECT_EQ(1u, image.image_reps().size()); 120 EXPECT_EQ(1u, image.image_reps().size());
122 ASSERT_TRUE(image.HasRepresentation(1.0f)); 121 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
123 EXPECT_EQ(16, image.width()); 122 EXPECT_EQ(16, image.width());
124 EXPECT_EQ(16, image.height()); 123 EXPECT_EQ(16, image.height());
125 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 124 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
126 } 125 }
127 126
128 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_16) { 127 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_16) {
129 vector<SkBitmap> bitmaps; 128 vector<SkBitmap> bitmaps;
130 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 129 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
131 130
132 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 131 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
133 SizesFromBitmaps(bitmaps), Scale1x2x(), 16, NULL); 132 SizesFromBitmaps(bitmaps), Scale1x2x(), 16, NULL);
134 EXPECT_EQ(2u, image.image_reps().size()); 133 EXPECT_EQ(2u, image.image_reps().size());
135 ASSERT_TRUE(image.HasRepresentation(1.0f)); 134 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
136 ASSERT_TRUE(image.HasRepresentation(2.0f)); 135 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_200P));
137 EXPECT_EQ(16, image.width()); 136 EXPECT_EQ(16, image.width());
138 EXPECT_EQ(16, image.height()); 137 EXPECT_EQ(16, image.height());
139 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 138 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
140 EXPECT_EQ(SK_ColorGREEN, GetColor2x(image)); 139 EXPECT_EQ(SK_ColorGREEN, GetColor2x(image));
141 } 140 }
142 141
143 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_32) { 142 TEST(SelectFaviconFramesTest, _16From16_Scale2x_32_From_32) {
144 vector<SkBitmap> bitmaps; 143 vector<SkBitmap> bitmaps;
145 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); 144 bitmaps.push_back(MakeBitmap(SK_ColorGREEN, 16, 16));
146 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32)); 145 bitmaps.push_back(MakeBitmap(SK_ColorBLUE, 32, 32));
147 146
148 gfx::ImageSkia image = SelectFaviconFrames(bitmaps, 147 gfx::ImageSkia image = SelectFaviconFrames(bitmaps,
149 SizesFromBitmaps(bitmaps), Scale1x2x(), 16, NULL); 148 SizesFromBitmaps(bitmaps), Scale1x2x(), 16, NULL);
150 EXPECT_EQ(2u, image.image_reps().size()); 149 EXPECT_EQ(2u, image.image_reps().size());
151 ASSERT_TRUE(image.HasRepresentation(1.0f)); 150 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_100P));
152 ASSERT_TRUE(image.HasRepresentation(2.0f)); 151 ASSERT_TRUE(image.HasRepresentation(ui::SCALE_FACTOR_200P));
153 EXPECT_EQ(16, image.width()); 152 EXPECT_EQ(16, image.width());
154 EXPECT_EQ(16, image.height()); 153 EXPECT_EQ(16, image.height());
155 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image)); 154 EXPECT_EQ(SK_ColorGREEN, GetColor1x(image));
156 EXPECT_EQ(SK_ColorBLUE, GetColor2x(image)); 155 EXPECT_EQ(SK_ColorBLUE, GetColor2x(image));
157 } 156 }
158 157
159 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) { 158 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) {
160 float score1; 159 float score1;
161 vector<SkBitmap> bitmaps1; 160 vector<SkBitmap> bitmaps1;
162 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); 161 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48));
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); 264 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 15, 15));
266 vector<gfx::Size> sizes2; 265 vector<gfx::Size> sizes2;
267 sizes2.push_back(gfx::Size(15, 15)); 266 sizes2.push_back(gfx::Size(15, 15));
268 float score2; 267 float score2;
269 SelectFaviconFrames(bitmaps2, sizes2, Scale1x(), 16, &score2); 268 SelectFaviconFrames(bitmaps2, sizes2, Scale1x(), 16, &score2);
270 269
271 EXPECT_GT(score2, score1); 270 EXPECT_GT(score2, score1);
272 } 271 }
273 272
274 } // namespace 273 } // namespace
OLDNEW
« no previous file with comments | « trunk/src/chrome/browser/history/select_favicon_frames.cc ('k') | trunk/src/chrome/browser/profiles/profile_info_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698