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

Side by Side Diff: ui/gfx/image/image_unittest_util.cc

Issue 2823003002: SkBitmap and SkPixelRef no longer need lock/unlock (Closed)
Patch Set: win fix after rebase Created 3 years, 8 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
« no previous file with comments | « ui/gfx/image/image_unittest.cc ('k') | ui/gfx/image/image_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // Because the unit tests for gfx::Image are spread across multiple 5 // Because the unit tests for gfx::Image are spread across multiple
6 // implementation files, this header contains the reusable components. 6 // implementation files, this header contains the reusable components.
7 7
8 #include "ui/gfx/image/image_unittest_util.h" 8 #include "ui/gfx/image/image_unittest_util.h"
9 9
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 if (bmp1.isNull() && bmp2.isNull()) 130 if (bmp1.isNull() && bmp2.isNull())
131 return true; 131 return true;
132 132
133 if (bmp1.width() != bmp2.width() || 133 if (bmp1.width() != bmp2.width() ||
134 bmp1.height() != bmp2.height() || 134 bmp1.height() != bmp2.height() ||
135 bmp1.colorType() != kN32_SkColorType || 135 bmp1.colorType() != kN32_SkColorType ||
136 bmp2.colorType() != kN32_SkColorType) { 136 bmp2.colorType() != kN32_SkColorType) {
137 return false; 137 return false;
138 } 138 }
139 139
140 SkAutoLockPixels lock1(bmp1);
141 SkAutoLockPixels lock2(bmp2);
142 if (!bmp1.getPixels() || !bmp2.getPixels()) 140 if (!bmp1.getPixels() || !bmp2.getPixels())
143 return false; 141 return false;
144 142
145 for (int y = 0; y < bmp1.height(); ++y) { 143 for (int y = 0; y < bmp1.height(); ++y) {
146 for (int x = 0; x < bmp1.width(); ++x) { 144 for (int x = 0; x < bmp1.width(); ++x) {
147 if (!ColorsClose(bmp1.getColor(x,y), bmp2.getColor(x,y), max_deviation)) 145 if (!ColorsClose(bmp1.getColor(x,y), bmp2.getColor(x,y), max_deviation))
148 return false; 146 return false;
149 } 147 }
150 } 148 }
151 149
(...skipping 15 matching lines...) Expand all
167 165
168 int MaxColorSpaceConversionColorShift() { 166 int MaxColorSpaceConversionColorShift() {
169 return kMaxColorSpaceConversionColorShift; 167 return kMaxColorSpaceConversionColorShift;
170 } 168 }
171 169
172 void CheckImageIndicatesPNGDecodeFailure(const gfx::Image& image) { 170 void CheckImageIndicatesPNGDecodeFailure(const gfx::Image& image) {
173 SkBitmap bitmap = image.AsBitmap(); 171 SkBitmap bitmap = image.AsBitmap();
174 EXPECT_FALSE(bitmap.isNull()); 172 EXPECT_FALSE(bitmap.isNull());
175 EXPECT_LE(16, bitmap.width()); 173 EXPECT_LE(16, bitmap.width());
176 EXPECT_LE(16, bitmap.height()); 174 EXPECT_LE(16, bitmap.height());
177 SkAutoLockPixels auto_lock(bitmap);
178 CheckColors(bitmap.getColor(10, 10), SK_ColorRED); 175 CheckColors(bitmap.getColor(10, 10), SK_ColorRED);
179 } 176 }
180 177
181 bool ImageSkiaStructureMatches( 178 bool ImageSkiaStructureMatches(
182 const gfx::ImageSkia& image_skia, 179 const gfx::ImageSkia& image_skia,
183 int width, 180 int width,
184 int height, 181 int height,
185 const std::vector<float>& scales) { 182 const std::vector<float>& scales) {
186 if (image_skia.isNull() || 183 if (image_skia.isNull() ||
187 image_skia.width() != width || 184 image_skia.width() != width ||
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 return image.CopyNSImage(); 261 return image.CopyNSImage();
265 #else 262 #else
266 return image.AsImageSkia(); 263 return image.AsImageSkia();
267 #endif 264 #endif
268 } 265 }
269 266
270 #if defined(OS_MACOSX) 267 #if defined(OS_MACOSX)
271 // Defined in image_unittest_util_mac.mm. 268 // Defined in image_unittest_util_mac.mm.
272 #else 269 #else
273 SkColor GetPlatformImageColor(PlatformImage image, int x, int y) { 270 SkColor GetPlatformImageColor(PlatformImage image, int x, int y) {
274 SkBitmap bitmap = *image.bitmap(); 271 return image.bitmap()->getColor(x, y);
275 SkAutoLockPixels auto_lock(bitmap);
276 return bitmap.getColor(x, y);
277 } 272 }
278 #endif 273 #endif
279 274
280 void CheckColors(SkColor color1, SkColor color2) { 275 void CheckColors(SkColor color1, SkColor color2) {
281 EXPECT_TRUE(ColorsClose(color1, color2, MaxColorSpaceConversionColorShift())); 276 EXPECT_TRUE(ColorsClose(color1, color2, MaxColorSpaceConversionColorShift()));
282 } 277 }
283 278
284 void CheckIsTransparent(SkColor color) { 279 void CheckIsTransparent(SkColor color) {
285 EXPECT_LT(SkColorGetA(color) / 255.0, 0.05); 280 EXPECT_LT(SkColorGetA(color) / 255.0, 0.05);
286 } 281 }
287 282
288 bool IsPlatformImageValid(PlatformImage image) { 283 bool IsPlatformImageValid(PlatformImage image) {
289 #if defined(OS_MACOSX) 284 #if defined(OS_MACOSX)
290 return image != NULL; 285 return image != NULL;
291 #else 286 #else
292 return !image.isNull(); 287 return !image.isNull();
293 #endif 288 #endif
294 } 289 }
295 290
296 bool PlatformImagesEqual(PlatformImage image1, PlatformImage image2) { 291 bool PlatformImagesEqual(PlatformImage image1, PlatformImage image2) {
297 #if defined(OS_MACOSX) 292 #if defined(OS_MACOSX)
298 return image1 == image2; 293 return image1 == image2;
299 #else 294 #else
300 return image1.BackedBySameObjectAs(image2); 295 return image1.BackedBySameObjectAs(image2);
301 #endif 296 #endif
302 } 297 }
303 298
304 } // namespace test 299 } // namespace test
305 } // namespace gfx 300 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/image/image_unittest.cc ('k') | ui/gfx/image/image_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698